我有以下查詢:
$sqlquery="SELECT CONCAT_WS(".",php_version_major, php_version_minor, php_version_build) AS phpversion, COUNT(id) AS COUNT, YEAR(createdate) AS YEAR, MONTH(createdate) AS MONTH FROM logs_checklist_interface GROUP BY phpversion, YEAR(createdate), MONTH(createdate) ORDER BY createdate ASC";
$rsData=mysqli_query($dblink,$sqlquery);
$rsData 使用此查詢回傳 FALSE。原因似乎是 concat_ws 陳述句。如果我洗掉它,它作業正常。我嘗試了其他 CONCAT 函式,結果相同。
這樣一個導致 mysqli_query() 不高興的簡單陳述句有什么問題?
uj5u.com熱心網友回復:
如果你這樣做:
$myString = "abc" . "xyz";
你得到一個字串abcxyz
,而不是abc"."xyz
我想您認為"
在您打算將其用作 SQL 運算式中的字串分隔符的情況下,這意味著與 PHP 不同的東西。
$sqlquery="SELECT CONCAT_WS(".",php_version_major,
^ php quote ^ ^ sql string delimiters?
但不幸的是,事實并非如此。PHP 將這兩個實體都"
視為 PHP 引號。因此這是兩個 PHP 字串,使用 PHP 字串連接運算子.
。
所以生成的 SQL 查詢是:
SELECT CONCAT_WS(,php_version_major, ...
這在括號后直接有一個逗號,所以它是無意義的語法。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/484592.html
下一篇:不明白為什么mysql查詢這么慢