【问题标题】:Warning: mysql_real_escape_string() expects parameter 1 to be string, resource given in [duplicate]警告:mysql_real_escape_string() 期望参数 1 是字符串,资源在 [重复]
【发布时间】:2015-01-08 06:11:58
【问题描述】:

警告:mysql_real_escape_string() 期望参数 1 是字符串,资源在 E:\wamp\www\inventory\admin\dashboard\insert_export.php 第 94 行中给出

我理解错误,但如何纠正错误,谁能给我解释一下。

<?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' ;
} 


?>

【问题讨论】:

  • 应该像$productname=mysql_real_escape_string($productname,$con);

标签: php mysql


【解决方案1】:

你的顺序弄错了。应该是:

$string = mysql_real_escape_string(STRING, $con);

以上是伪代码


更严肃的说明。

请查看使用PDO/MySQLi 而不是mysql_* 函数,因为mysql_* 库已弃用且不再有用。

【讨论】:

    【解决方案2】:

    未转义的字符串首先出现。请参阅文档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);
    

    【讨论】:

      【解决方案3】:

      $con 未在此处定义。请检查您的文件db_connection.php 那里给出的内容

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2011-10-30
        • 2011-08-28
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多