查询工作在mysql工作台但不是PHP,不知道为什么

时间:2016-05-10 03:55:40

标签: php mysqli mysql-workbench

$ db可以正常工作,这不是问题。有人能指出我正确的方向吗?

我尝试回显查询并且没有抛出错误。该文件是UTF8所以我做了这个改变。我注释掉了if语句,因为它阻止了错误的触发。一旦完成,我现在得到的结果是"在C:\ wamp \ www \ goals中的非对象上调用成员函数execute()..."这告诉我查询有问题,但我不知道那是什么。我在mysql控制台中运行了这个精确的查询,它运行正常。

以下是代码:

$query3 = "LOAD DATA INFILE 'C:/Users/Jim/Downloads/ActualSales.csv'
    INTO TABLE dailyActual
    CHARACTER SET UTF8
    IGNORE 1 LINES 
    (`year`,`month`,`division`,`account_nbr`,`Cust_Name`,`lastrep`,`Cust_Type`,`Ad_Type`,`amount`)";
    //echo $query3; 
    //if ($stmt3 = $db->prepare($query3)) {
    $stmt3 = $db->prepare($query3);    
    $stmt3->execute();
    $stmt3->close();
    //}

任何帮助将不胜感激。 吉姆

1 个答案:

答案 0 :(得分:0)

您无法使用预准备语句运行某些查询。

此外,在没有任何变量绑定的情况下运行prepare()几乎没有意义。

因此,只需更改query()调用的准备/执行。

要管理您可能遇到的任何其他问题,请在mysqli connect之前添加此行,设置正确的错误报告:

mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);