Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/228.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/60.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
php mysql的插入查询问题_Php_Mysql - Fatal编程技术网

php mysql的插入查询问题

php mysql的插入查询问题,php,mysql,Php,Mysql,这是一个简单的问题,我正在使用下面的插入查询 mysql_query(insert into table1 set saltval = 'Y'Z' where uid ='1'); 但是我不工作,因为saltval字段的值是Y'Z。我的问题是如何将此值视为字符串 您需要用反斜杠转义任何单引号 mysql_query("insert into table1 set saltval = 'Y\'Z' where uid ='1'"); 但是,您的SQL也是无效的。。。你的意思是更新吗?Inser

这是一个简单的问题,我正在使用下面的插入查询

mysql_query(insert into table1 set saltval = 'Y'Z' where uid ='1');

但是我不工作,因为saltval字段的值是Y'Z。我的问题是如何将此值视为字符串

您需要用反斜杠转义任何单引号

mysql_query("insert into table1 set saltval = 'Y\'Z' where uid ='1'");
但是,您的SQL也是无效的。。。你的意思是更新吗?Insert语句没有where

如其他答案所述,如果输入来自用户,则应使用mysql\u real\u escape\u string()

如果值来自用户输入,则始终使用
mysql\u real\u escape\u string()
函数执行此操作

$query="insert into table1 set saltval = '".mysql_real_escape_string($InputVal)."' where uid ='1'";

请参见

您必须为某些字符添加反斜杠,以使字符串符合SQL语法规则。
假设您正在动态创建查询,PHP对此有特殊的转义函数,您应该将其用于查询中的每个带引号的字符串,没有例外。
因此,编写如下代码:

$salt = "Y'Z";
$id   = 1;

$salt = mysql_real_escape_string($salt);
$id   = mysql_real_escape_string($id);

$sql = "update table1 set saltval = '$salt' where uid ='$id'";

mysql_query($sql) or trigger_error(mysql_error()." ".$sql);
使其安全和容错

$salt = "Y'Z";
$id   = 1;

$salt = mysql_real_escape_string($salt);
$id   = mysql_real_escape_string($id);

$sql = "update table1 set saltval = '$salt' where uid ='$id'";

mysql_query($sql) or trigger_error(mysql_error()." ".$sql);