我有一個工作的SQL查詢,我試圖在一個小的PHP腳本中使用,但得到分析錯誤,嘗試了很多變化。希望你能幫助。最終結果將是具有'日期'和'頻道號'的兩個字段形式,然後給出給定日期的'頻道'行數量的結果計數。對不起相當新的PHP/SQL,謝謝。腳本來計算兩列和回聲結果
<?php
// Connect to MSSQL and select the database
$link = mssql_connect('localhost', 'root', '', 'jm_db');
mssql_select_db('jm_db');
// Select all our records from a table
$mysql_query = mssql_query ('SELECT COUNT(*) FROM asterisk_cdr
WHERE calldate LIKE '%2014-10-11%'
AND channel LIKE '%SIP/4546975289%');
echo $sql;
?>
我已經重新做了代碼,但得到「警告:mysql_fetch_array()預計參數1是資源」和未定義的變量。
<?php
// Create connection
$mysqli = new mysqli($localhost, $root, $jm_db);
/* check connection */
if (mysqli_connect_errno()) {
printf("Connect failed: %s\n", mysqli_connect_error());
exit();
}
$sql = ("SELECT COUNT(*) FROM asterisk_cdr
WHERE calldate LIKE '%2014-10-11%'
AND channel LIKE '%SIP/4546975289%'");
$results= array();
while ($result = mysql_fetch_array($sql)) {
$results[]= $result;
}
foreach($results as $result){
echo $result['calldate'] . " " . $result['channel'];
}
?>
旁註:你使用了錯誤的變量來呼應這應該是'$ mysql_query'而不是'$ sql' - 你還缺少引用。 '(「SELECT COUNT(*)FROM asterisk_cdr WHERE calldate LIKE'%2014-10-11%' AND channel LIKE'%SIP/4546975289%'」)'試試看,這可能會修復你的代碼。 – 2014-11-05 17:57:37
您的'$ mysql_query'變量具有不匹配的單引號(''')。 – esqew 2014-11-05 18:03:51
你使用的是MySQL還是Microsoft SQL Server? – 2014-11-05 18:42:09