读取MySQL表中数据出错

WBOY
Release: 2016-06-23 14:28:31
Original
858 people have browsed it

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 . '<br />'; /* 题名 */$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));
Copy after login


做的事情是:

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'];
Copy after login


报错: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'";
我去……是这样啊……谢谢版主!

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template