查询可以在mysql工作台中工作,但不能在php中工作,也不知道为什么


query works in mysql workbench but not php and not sure why

$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();
    //}

如有任何帮助,我们将不胜感激。Jim

您不能使用准备好的语句运行某些查询。

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

因此,只需更改query()调用的prepare/execute即可。

要管理您可能遇到的任何其他问题,请通过在mysqli连接之前添加以下行来设置正确的错误报告:

mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);