【发布时间】:2019-03-27 11:01:04
【问题描述】:
我正在尝试将 MYSQL 查询的结果保存在变量中。我知道结果保存为数组,但我不知道如何将结果分配给变量。 我可以回显结果,但无法将其分配给变量。
这是我的错误代码:
require('db.php');
$id =$_REQUEST['id'];
$name ="SELECT name FROM table2 WHERE id='".$id."'";
$name_result = $con->query($name);
while($row = $name_result->fetch_assoc()) {
$name=$row['name'];
}
$ins_query=" insert into table1 (`id`,`name`) values ('$id','$name')";
$stat=mysqli_query($con,$ins_query) or die(" error".mysql_error());
Id 作为 html 输入字段从用户那里获取,并将保存在 table1 中。 名称存在于 table2 中,我想在 table1 中的 id 与 table2 中的 id 相等的地方选择它,然后将其插入 table1。
【问题讨论】:
-
1.提供错误。 2. 使用准备好的语句。
-
mysql_error() --> mysqli_error($con)
-
您使用 3 种不同的方式进行查询。因此,不建议从不同来源复制代码:)
-
注意可能的 SQL 注入。同时使用
$_REQUEST也很不安全,因为变量可能来自 url(获取数据)、发布数据或 cookie 数据,我强烈建议不要使用$_REQUEST并使用$_GET或$_POST获取变量.. -
“不建议从不同来源复制代码” 事实上@Gabor 这是我今天听到的最好的建议。这就是问题所在现在在互联网上,程序员将旧教程中的代码复制并粘贴到生产代码中,而不考虑代码是否存在漏洞并对其进行修改以使其安全或如何使其工作。