PHP Mysql自动报价?
在mysql数据库中插入行时,字符串值需要用引号括起来,而整数不需要括起来 是否有任何类或库可以自动处理这个问题,这样我就可以将字段名和值的数组传递给第三方函数,而不必担心将字符串值放在引号中 谢谢,如果您使用,那么您不必担心类似的事情PHP Mysql自动报价?,php,mysql,string,quotes,Php,Mysql,String,Quotes,在mysql数据库中插入行时,字符串值需要用引号括起来,而整数不需要括起来 是否有任何类或库可以自动处理这个问题,这样我就可以将字段名和值的数组传递给第三方函数,而不必担心将字符串值放在引号中 谢谢,如果您使用,那么您不必担心类似的事情 请看一些示例。当我使用drupal时,db\u查询的默认行为(“从id=%d的选项卡中选择列,$id)会为您处理这些问题 这类似于首先在查询中使用sprintf和mysql\u real\u escape\u string。您可以自己实现它,请注意,它们使用pr
请看一些示例。当我使用drupal时,
db\u查询的默认行为(“从id=%d的选项卡中选择列,$id)
会为您处理这些问题
这类似于首先在查询中使用sprintf
和mysql\u real\u escape\u string
。您可以自己实现它,请注意,它们使用preg\u replace\u callback()
方法,您可以单击该方法
如果您忽略(不推荐)传统方式:
你需要担心的不仅仅是引用;您需要担心SQL注入
对于新代码,请使用而不是mysql\uuu
或mysqli\uu
函数。在PDO中,使用准备好的语句(PDOStatement
对象)
使用准备好的语句,您不必将内容括在引号中,它会停止SQL注入
<?php
// Connect
$link = mysql_connect('mysql_host', 'mysql_user', 'mysql_password')
OR die(mysql_error());
// Query
$query = sprintf("SELECT * FROM users WHERE user='%s' AND password='%s'",
mysql_real_escape_string($user),
mysql_real_escape_string($password));
?>