我是PHP的新手。
有人可以验证这段代码并告诉我这是什么问题。
<?php
require_once 'excel_reader2.php';
$data = new Spreadsheet_Excel_Reader("NZ_Price_List.xls");
error_reporting(E_ALL ^ E_NOTICE);
//start mysql connection
$con=mysqli_connect("localhost","root","ebooks3","newlocalabc");
// Check connection
if (mysqli_connect_errno())
{
echo "Failed to connect to MySQL: " . mysqli_connect_error();
}
for($i=1;$i < $data->rowcount();$i++)
{
$p = $data->val($i,'A');
$sql = sprintf("select count(*) as cnt from products where `isbn` = '%s'", mysql_real_escape_string($p));
$row_dup = mysql_fetch_assoc(mysql_query($sql,$con));
if ($row_dup['cnt'] == 0) {
//insert
}
else{
//update
}
}
echo "hello done";
mysqli_close($con);
?>
我正在尝试将Excel电子表格中的值与数据库进行比较。如果该值已经存在,那么只需更新或如果值不存在那么我必须对该行感到遗憾。
我收到以下错误消息:
mysql_fetch_assoc()期望参数1为资源,给定
为null
有些请尽快让我。
答案 0 :(得分:0)
您使用的是mysqli
连接,因此您需要使用mysqli_
个功能,而不是mysql_
。所以你的代码应该是 -
$sql = sprintf("select count(*) as cnt from products where `isbn` = '%s'", mysqli_real_escape_string($con,$p));
$row_dup = mysqli_fetch_assoc(mysqli_query($con,$sql));
答案 1 :(得分:-1)
$num = mysql_num_rows(mysql_query($sql,$con));