gpt4 book ai didi

php - mysql 在 php 脚本中插入查询不起作用

转载 作者:行者123 更新时间:2023-11-29 07:54:50 24 4
gpt4 key购买 nike

我有一个 php 脚本,它从表中获取数据,然后尝试将获取的数据插入第一个表的第二个表副本中:

function copy_data($id,$mysql_conn){
if($res=mysql_query("SELECT * from table1 WHERE id='".$id."'", $mysql_conn)){
if($row=mysql_fetch_array($res)){
$sql ="INSERT INTO table2 (id, Field1, Field2) values('" . $row['id'] . "', '" . $row['Field1'] . "', '" . $row['Field2'] . "')";
mysql_query($sql,$mysql_conn);
}
}
}
copy_data($id,$mysql_conn);// $id is id of the element I want to add

插入查询工作正常,但有一种情况会出现异常:其中一个字段包含 ' 字符,失败的查询的 exp:INSERT INTO table2 (id, Field1, Field2) value ('12','Company', 'Kurt's Reifen-Shop') 异常来自 ' 字符,如何插入包含此字符的 php 变量。

最佳答案

在将数据插入 $sql 之前,您必须对数据进行转义:

function copy_data($id,$mysql_conn){
if($res=mssql_query("SELECT * from table1 WHERE id='".$id."'", $mysql_conn)){
if($row=mysql_fetch_array($res)){
$row['Field1'] = mysql_real_escape_string($row['Field1']);
$row['Field2'] = mysql_real_escape_string($row['Field2']);
$sql ="INSERT INTO table2 (id, Field1, Field2) values('" . $row['id'] . "', '" . $row['Field1'] . "', '" . $row['Field2'] . "')";
mysql_query($sql,$mysql_conn);
}
}
}
copy_data($id,$mysql_conn);// $id is id of the element I want to add

关于php - mysql 在 php 脚本中插入查询不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25422322/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com