警告:mysql_real_escape_string() 期望参数 1 为字符串,资源在第 94 行的 E:\wamp\www\inventory\admin\dashboard\insert_export.php 中给出
我理解错误,但如何纠正错误,任何人都可以建议我解释一下。
<?php
include 'connection/db_connection.php';
$row_data = array();
foreach($_POST['productname'] as $row=>$productname) {
$date=$_POST['datetime'];
$subject=$_POST['subject'];
$productname=mysql_real_escape_string($con,$productname);
$itemcode=mysql_real_escape_string($con,($_POST['itemcode'][$row]));
$quantity=mysql_real_escape_string($con,($_POST['quantity'][$row]));
$row_data[] = "('$date','$productname', '$itemcode', '$quantity','$subject')";
}
if (!empty($row_data))
{
$sql = 'INSERT INTO admin_export(datetime, product_name, item_code,quantity,subject) VALUES '.implode(',', $row_data);
$result = mysql_query($sql );
if ($result)
echo 'Successful inserts: ' . mysql_affected_rows($con);
else
echo 'query failed' ;
}
?>
你的顺序是错误的。它应该是:
$string = mysql_real_escape_string(STRING, $con);
以上是伪代码
一个更严肃的笔记。
请查看使用 PDO
/MySQLi
而不是 mysql_*
函数,因为 mysql_*
库已弃用,不再有用。
未转义的字符串排在第一位。请参阅文档 http://php.net/manual/en/function.mysql-real-escape-string.php
所以
$productname=mysql_real_escape_string($con,$productname);
应该是:
$productname=mysql_real_escape_string($productname, $con);
没有定义$con
。请检查您的文件db_connection.php
那里给出的内容