Maison  >  Article  >  développement back-end  >  读取MySQL表中数据报错

读取MySQL表中数据报错

WBOY
WBOYoriginal
2016-06-13 11:47:151114parcourir

读取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'";

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn