【发布时间】:2014-06-12 15:39:58
【问题描述】:
我正在运行这个 PHP 脚本,但出现以下错误:
PHP 致命错误:在第 16 行的 c:/test.php 中的非对象上调用成员函数 bind_param()
第 16 行是:
$load_stmt->bind_param('ss', $filetobeloaded, $filetobeloaded);
谁能告诉我这句话有什么问题?
完整脚本:
<?php
$mysqli = new mysqli('localhost', 'root', 'password', 'orangevalleedb');
/* check connection */
if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}
$file_query = "select filename from cdr";
$load_query = "LOAD DATA INFILE ? INTO TABLE cdr FIELDS TERMINATED BY ',' ENCLOSED BY '\"' LINES TERMINATED BY '\\n' ( @col_1, @col_2 )";
$file_stmt = $mysqli->prepare($file_query);
$file_stmt->execute();
$file_stmt->bind_result($filetobeloaded);
$load_stmt = $mysqli->prepare($load_query);
$load_stmt->bind_param('ss', $filetobeloaded, $filetobeloaded);
/* execute prepared statement */
while($file_stmt->fetch()) {
$load_stmt->execute();
}
/* close statement and connection */
$load_stmt->close();
$file_stmt->close();
/* close connection */
$mysqli->close();
?>
【问题讨论】:
-
可能是复制和粘贴错误。我已经解决了。
-
你试过
var_dump($load_stmt)看看你得到了什么? -
如错误消息所述,
$load_stmt不是对象。您的 SQL 查询中可能有错误。