Heim  >  Artikel  >  Backend-Entwicklung  >  读取MySQL表中数据报错

读取MySQL表中数据报错

WBOY
WBOYOriginal
2016-06-13 11:47:151114Durchsuche

读取MySQL表中数据出错
下面是一段工作正常的代码

/* 注入基本信息,A_I自动生成meta_id */<br />$query1 = "INSERT INTO libr_metacode (meta_isbn, meta_cip) VALUES ('$isbn', '$cip')";<br />$result1 = mysqli_query($dbc,$query1)<br />  or die('无法写入基本编码,错误信息:' . mysqli_error($dbc));<br /> <br />/* 获取meta_id进行后续写入 */<br />$query = "SELECT * FROM libr_metacode WHERE meta_isbn='$isbn'";<br />$result = mysqli_query($dbc, $query);<br />$row = mysqli_fetch_array($result);<br />$ida = $row['meta_id'];<br />echo '获得本书藏书库系统元编码' . $ida . '<br />';<br /> <br />/* 题名 */<br />$query2 = "INSERT INTO libr_title (meta_id, title, subtitle, series) VALUES ('$ida', '$title', '$subtitle', '$series')";<br />$result2 = mysqli_query($dbc,$query2)<br />  or die('无法写入题名信息,错误:' . mysqli_error($dbc));


做的事情是:

1. 以表单获得的ISBN号(国际标准书号)、CIP号,在meta_code表中插入行 系统元编码 ISBN号 CIP号
2. 利用唯一的ISBN号,在meta_code表中查询图书获得的系统元编码
3. 利用系统元编码在多个表中进行插入

因为ISBN有13位不适合做主键(吧?),所以就这样做了,但是在读取其他数据的时候几乎一模一样的查询代码就出错了。

/* 获取meta_id进行后续写入 */<br />$query = "SELECT * FROM '$ui_b' WHERE '$ui_c'='$ui_a'";<br />$result = mysqli_query($dbc, $query);<br />$row = mysqli_fetch_array($result);<br />$ida = $row['meta_id'];


报错:mysqli_fetch_array() expects parameter 1 to be mysqli_result, boolean given.

尽管知道$result应该返回的是一个resource id但是在第一段代码里fetch_array()明明就可以啊,为什么第二段代码里的fetch_array()一定要逻辑值呢?

还有,求问如何才能“echo”出$result的值?
------解决方案--------------------
若 $ui_b 是表名,$ui_c 是字段名
则应写作
$query = "SELECT * FROM $ui_b WHERE $ui_c='$ui_a'";

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn