0

このコードを実行するたびに、リソース ID を取得します。これを修正するにはどうすればよいですか:

function ct()
{
    $result = mysql_query("SELECT `Quantity` FROM `shopping cart` WHERE `Customer_id`=1") or die(mysql_error());
    mysql_fetch_array($result);   
    echo "$result";
}
4

2 に答える 2

4

mysql_fetch_arrayまたはで結果を取得する必要がありますmysql_fetch_assoc

$row = mysql_fetch_array($result);

リターンmysql_queryとは

SELECT、SHOW、DESCRIBE、EXPLAIN、および結果セットを返すその他のステートメントの場合、mysql_query() は成功するとリソースを返し、エラーの場合は FALSE を返します。

他のタイプの SQL ステートメント、INSERT、UPDATE、DELETE、DROP などの場合、mysql_query() は成功時に TRUE を返し、エラー時に FALSE を返します。

mysql_*新しいコードで関数を使用しないでください。それらはもはや保守されておらず、公式に非推奨です赤いボックスがか? 代わりにプリペアド ステートメントについて学び、 PDOまたはMySQLiを使用してください。この記事は、どちらを使用するかを決めるのに役立ちます。PDO を選択する場合は、ここに良いチュートリアルがあります。


問題の編集後

これmysql_fetch_array($result);は、フェッチされた行に対応する配列を返し、内部データ ポインターを前方に移動します。したがって、その配列を任意の変数に割り当てて、次のように使用する必要があります

while($row = mysql_fetch_array($result)){   
 echo $row ['field_name'];
}

または

$row = mysql_fetch_array($result); // want to fetch only one row 
 echo $row ['field_name'];
于 2013-04-19T05:43:47.150 に答える
-1
$link = mysqli_connect("HOSTNAME", "USERNAME", "PASS", "DBNAME");    
$result = mysqli_query($link,"SELECT `Quantity` FROM `shopping cart` WHERE `Customer_id`=1") or die(mysql_error());
while($row = mysqli_fetch_array($result))
{
    echo $row['Quantity'];
    echo "<br />";
}
mysqli_close($con);
于 2013-04-19T05:45:33.687 に答える