您好,欢迎访问一九零五行业门户网

读取MySQL表中数据出错

mysql select php
下面是一段工作正常的代码
/* 注入基本信息,a_i自动生成meta_id */$query1 = insert into libr_metacode (meta_isbn, meta_cip) values ('$isbn', '$cip');$result1 = mysqli_query($dbc,$query1) or die('无法写入基本编码,错误信息:' . mysqli_error($dbc)); /* 获取meta_id进行后续写入 */$query = select * from libr_metacode where meta_isbn='$isbn';$result = mysqli_query($dbc, $query);$row = mysqli_fetch_array($result);$ida = $row['meta_id'];echo '获得本书藏书库系统元编码' . $ida . '
'; /* 题名 */$query2 = insert into libr_title (meta_id, title, subtitle, series) values ('$ida', '$title', '$subtitle', '$series');$result2 = mysqli_query($dbc,$query2) or die('无法写入题名信息,错误:' . mysqli_error($dbc));
做的事情是:
1. 以表单获得的isbn号(国际标准书号)、cip号,在meta_code表中插入行 系统元编码 isbn号 cip号
2. 利用唯一的isbn号,在meta_code表中查询图书获得的系统元编码
3. 利用系统元编码在多个表中进行插入
因为isbn有13位不适合做主键(吧?),所以就这样做了,但是在读取其他数据的时候几乎一模一样的查询代码就出错了。
/* 获取meta_id进行后续写入 */$query = select * from '$ui_b' where '$ui_c'='$ui_a';$result = mysqli_query($dbc, $query);$row = mysqli_fetch_array($result);$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的值?
回复讨论(解决方案) 补充:系统元编码是自动递增a_i的,$ui_a输入的是字段值,$ui_b输入的是表名,$ui_c输入的是列名。
若 $ui_b 是表名,$ui_c 是字段名
则应写作
$query = select * from $ui_b where $ui_c='$ui_a';
若 $ui_b 是表名,$ui_c 是字段名
则应写作
$query = select * from $ui_b where $ui_c='$ui_a';
我去……是这样啊……谢谢版主!
其它类似信息

推荐信息