-2

重複の可能性:
mysql_fetch_array() は、パラメータ 1 がリソースであると
想定しています。

MYSQL でデータベースをセットアップし、プログラムでデータベースからデータを出力したいのですが、助けてください。「警告: mysql_fetch_array() は、パラメーター 1 がリソースであり、指定されたブール値であると想定しています」という警告が表示されるというわずかな問題があります。

'

//open a MySQL Connection
$link = mysql_connect('localhost', 'root', '');
if(!$link)
{
    die('Connection failed:' .mysql_error());
}

//select the database to work with
$db = mysql_select_db('test (2)');
if ($db)
{
    die('Selected database unavailable:' .mysql_error());
}

//create and excute a mysql query
$sql = "SELECT artist_name FROM artist";
$result = mysql_query($sql);

//loop through the returned data and output it
while($row = mysql_fetch_array($result))
{
    printf("Artist: %s<br/>", $row['artist_name']);
}

// free memory associated with the query
mysql_free_result($result);

//close the connection
mysql_close($link);
'
4

3 に答える 3

2

クエリは結果を返さ$resultないため、リソースではありません。試す:

//create and excute a mysql query
$sql = "SELECT artist_name FROM artist";
$result = mysql_query($sql) or die(mysql_error());

またmysqli_*、代わりにコマンドのグループを使用してみてくださいmysql_*

于 2013-01-23T20:08:11.003 に答える
0

これを試して:

<?php

//open a MySQL Connection
$link = mysqli_connect('localhost', 'root', '','test (2)');
if(!$link)
{
    echo('Unable to connect to the database!');
}
ELSE {


//create and excute a mysql query
$query = "SELECT artist_name FROM artist";
$result = mysqli_query($link, $query);

//loop through the returned data and output it
while($row = mysqli_fetch_array($result, MYSQLI_BOTH))
{
    printf("Artist: %s<br/>", $row['artist_name']);
}

// free memory associated with the query
mysqli_free_result($result);
}
//close the connection
mysqli_close($link);

?>

クエリの MYSQLI_ バージョン。デフォルトの変数名を使用しましたが、必要に応じて独自の変数名に戻すことができます。BWT は、データベースが実際に呼び出されているかどうかを確認しますtest (2)。私は、変数やデータベースなどで括弧や数字を使用するのが好きではありません.

于 2013-01-23T20:21:39.533 に答える
0

これは、クエリが失敗していることを意味します。

//create and excute a mysql query
$sql = "SELECT artist_name FROM artist";
$result = mysql_query($sql);

if ($result === false) mysql_error();

//loop through the returned data and output it
while($row = mysql_fetch_array($result))
{
    printf("Artist: %s<br/>", $row['artist_name']);
}
于 2013-01-23T20:07:12.860 に答える