查询在 mysql 工作台中有效,但在 php 中无效,不知道为啥
Posted
技术标签:
【中文标题】查询在 mysql 工作台中有效,但在 php 中无效,不知道为啥【英文标题】:query works in mysql workbench but not php and not sure why查询在 mysql 工作台中有效,但在 php 中无效,不知道为什么 【发布时间】:2016-09-04 20:52:44 【问题描述】:$db 可以正常工作,这不是问题。谁能指出我正确的方向?
我尝试回显查询,但没有引发错误。该文件是 UTF8,所以我进行了更改。我注释掉了 if 语句,因为它阻止了错误的触发。一旦完成,我现在得到的结果错误是“调用 C:\wamp\www\goals...但我不明白那是什么。我已经在 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();
//
任何帮助将不胜感激。 吉姆
【问题讨论】:
检查错误。我认为\r\n
可能会导致问题,因为这将被解释(因为你在双引号中)。
一些错误检查怎么样:php.net/manual/en/pdo.error-handling.php
是的,错误检查“无法获取 mysqli_stmt”并没有为我提供太多洞察力。引号中的 \r\n 的替代方法是什么?
@Dagon 为什么要链接到 PDO?
@YourCommonSense 愚蠢 ;-)
【参考方案1】:
您不能使用准备好的语句运行某些查询。
此外,在没有任何要绑定的变量的情况下运行 prepare() 几乎没有意义。
因此,只需更改 query() 调用的准备/执行。
要管理您可能遇到的任何其他问题,请设置正确的错误报告,方法是在 mysqli connect 之前添加以下行:
mysqli_report(MYSQLI_REPORT_ERROR | MYSQLI_REPORT_STRICT);
【讨论】:
非常感谢。我对此有点陌生,感谢新手的耐心和完整的句子。现在工作得很好。以上是关于查询在 mysql 工作台中有效,但在 php 中无效,不知道为啥的主要内容,如果未能解决你的问题,请参考以下文章
Mysql 查询在 Codeigniter 中返回空结果,但在本机 PHP 中工作正常
使用变量的查询在 PHPMyAdmin 中有效,但在 PHP 脚本中无效