我有一個mysql表需要在前端應用程序中顯示數據以及行號。下面的查詢工作完全在phpMyAdmin如何在PHP應用程序中的mysql中打印行號
SET @row_num=0; SELECT (@row_num:[email protected]_num+1) AS num,INV,DOS,PTNAME,BAL,PROV from sheet;
但是,當我在使用PHP項目相同的代碼它返回以下錯誤 警告:mysql_fetch_array():提供的參數不是一個有效的MySQL
下面是我的代碼:
<?php
$conn = mysql_connect("localhost","root","");
mysql_select_db("omega",$conn);
$sel="SET @row_num=0; SELECT (@row_num:[email protected]_num+1) AS num,INV,DOS,PTNAME,BAL,PROV from sheet";
$sqlquery=mysql_query($sel);
while($dis=mysql_fetch_array($sqlquery))
{
echo"<tr>";
echo "<td>".$dis['num']."</td>";
echo "<td>".$dis['INV']."</td>";
echo "<td>".$dis['DOS']."</td>";
echo "<td>".$dis['PTNAME']."</td>";
echo "<td>".$dis['BAL']."</td>";
echo "<td>".$dis['PROV']."</td>";
echo"</tr>";
}
您的錯誤信息是由於['mysql_query()'](ht tp://php.net/manual/en/function.mysql-query.php)*發送一個唯一的查詢(**不支持多個查詢**)*。 ** 1 ** SET @ row_num = 0; ** 2 ** SELECT(...'。你需要更新到'mysqli'並使用['mysqli_multi_query()'](http://php.net/manual/en/mysqli.multi-query.php) – Sean
您可能會收到錯誤的數據,因爲您的查詢中有2個命令(Set和select),請嘗試查詢Set,然後選擇。在上下文中,可以使用$ row = 1解決該問題;循環和內部循環:$ row ++; –
爲了您自己的利益,立即停止使用'mysql_ *'函數,它們已被棄用。 – asprin