2

phpmyadmin を介して正常に動作する次の単純なクエリを取得しましたが、それを自分の php Web サイトに追加すると、結果が返されず、エラー/警告メッセージも表示されません。「SET @N=-1;」を削除すると その後、正常に動作します。

<?php 
$db_connect = mysql_connect(DB_HOST, DB_USER, DB_PASSWORD, true);
mysql_select_db(DB_NAME, $db_connect);

$test_query = mysql_query("SET @N=-1;SELECT `id`, (@N:=@N+1) AS `mycount` FROM `mydb`;");

for ($i = 0; $i <= mysql_num_rows($test_query)-1; $i++) {
   echo mysql_result($db_directorymap, $i, 0) . " " . mysql_result($db_directorymap, $i, 1) . "<br />";
}
?>

更新: mysqli に移動したばかりですが、もちろん mysql ステートメントと mysqli_multi_query にまだ問題があります。クエリの最初の部分を実行すると、返される結果が空であるように見えるため、ブール値のエラーが発生します。結果の最初のセットをスキップする必要があると思いますが、その方法がわかりません。

4

2 に答える 2

0

mysql_query を介した複数のクエリはサポートされていないため、SET コマンドのみを実行しており、後続の SELECT コマンドは実行していないと思います。

于 2009-08-04T11:54:06.293 に答える