php - 我应该使用 mysqli_real_escape string() 还是 mysql_real_escape_string() 来获取表单数据?

标签 php mysql mysqli mysql-real-escape-string

<分区>

Possible Duplicate:
mysql_escape_string VS mysql_real_escape_string

我需要将 company_name(由用户通过表单提供)输入到我的 mysql 数据库中。 当我使用

$company = mysqli_real_escape_string($_POST['company_name'])

我得到一个错误

Warning: mysqli_real_escape_string() expects exactly 2 parameters, 1 given in     /opt/lampp/htdocs/Abacus-Version-2/admin/Company/insert_company.php on line 58

但使用时一切似乎都很好

$company = mysql_real_escape_string($_POST['company_name'])

遇到这种情况我该怎么办?

最佳答案

使用哪个取决于您使用的是 MySQLi 扩展还是 MySQL 扩展

// procedural mysqli 
$db = new mysqli; 
$sql = sprintf("INSERT INTO table (id,name,email,comment) VALUES (NULL,'%s','%s','%s')", 
   mysqli_real_escape_string($db,$name), 
   mysqli_real_escape_string($db,$email), 
   mysqli_real_escape_string($db,$comment) ); 

// mysql 
$conn = mysql_connect(); 
$sql = sprintf("INSERT INTO table (id,name,email,comment) VALUES (NULL,'%s','%s','%s')", 
   mysql_real_escape_string($name,$conn), 
   mysql_real_escape_string($email,$conn), 
   mysql_real_escape_string($comment,$conn) );  

关于php - 我应该使用 mysqli_real_escape string() 还是 mysql_real_escape_string() 来获取表单数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14135932/

相关文章:

php - 如何在 gii 中使用自定义模板(使用 Yii 2)

MySQL 查询多个值的计数

php - SQL Update else Insert 不工作

php - 使用 Group 和 If 语句以及 Order by 选择两个用户之间的最后一条消息

php - 查询未发送到数据库

php - 确保 PHP 中的有效 UTF-8

php - 我可以在 Rails (PHP) 之外的框架上使用 Capybara 吗?

php - MySQL:时间轴脚本,添加用户帖子和我自己的帖子

mysql - 在使用 JOOQ 时如何最好地检索具有相关表项的记录?

php - 我应该将 $mysqli 变量传递给每个函数吗?