-1

何らかの理由で私はこれを取得します:

Warning: mysql_fetch_array(): supplied argument is not a valid MySQL result resource in /home/walterg/public_html/phptest.php on line 50

Warning: mysql_close(): 5 is not a valid MySQL-Link resource in /home/walterg/public_html/phptest.php on line 60

単純な SQL クエリを実行しようとしていますが、エラーが発生します

私のコードは:

$con = mysql_connect("localhost","walterg_kaden","nope");

    if (!$con)
    {
        die('Could not connect: ' . mysql_error());
    }

    mysql_select_db("walterg_learning", $con);

    $result = mysql_query("SELECT * FROM ralf");

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



    mysql_close($con);
4

4 に答える 4

1

あなたがそれを正しくするための2つの簡単なルール

初め。少なくともクエリを処理するためのよりインテリジェントな方法を採用するまでは、常にこの方法でクエリを実行してください。

$sql = "SELECT * FROM ralf";
$res = mysql_query($sql) or trigger_error(mysql_error()." in ".$sql);

2番。あなたの目を信じてください!

データベースが「データベースが選択されていません」と言った場合は、そうです。前のステートメントで間違ったデータベースを選択していることを意味します。スペル、データベースの存在などを確認します。
簡単だ。これには特別な知識は必要ありません。ただの常識です。

于 2012-04-21T06:34:24.053 に答える
0

ラリー、あなたのSQLは失敗しています。デバッグ上の理由から (今日経験しているように) 常に不可欠です。各 SQL 実行の途中でエラーを出力する方法を用意しておく必要があります。これにより、何か問題が発生した場合に確実にエラーを出力できるようになります。エラーが発生したときにすぐに問題を特定して修正できるようにする

SQL クエリが失敗しています。mysql_error(); を使用します。これにより、問題が表示されます。

$result = mysql_query("SELECT * FROM ralf") or trigger_error(mysql_error());

PHP データベースに接続するには、次の 5 つの手順に従います。

    // 1. Create a database connection
    //      (Use your own servername, username and password if they are different.)
    //      $connection allows us to keep refering to this connection after it is established
    $connection = mysql_connect("localhost","root","OtlPHP07"); 
    if (!$connection) {
        die("Database connection failed: " . mysql_error());
    }

    // 2. Select a database to use 
    $db_select = mysql_select_db("widget_corp",$connection);
    if (!$db_select) {
        die("Database selection failed: " . mysql_error());
    }

?>
<html>
    <head>
        <title>Databases</title>
    </head>
    <body>
    <?php
    // 3. Perform database query
    $result = mysql_query("SELECT * FROM subjects", $connection);
    if (!$result) {
        die("Database query failed: " . mysql_error());
    }

    // 4. Use returned data
    while ($row = mysql_fetch_array($result)) {
        echo $row["menu_name"]." ".$row["position"]."<br />";
    }

    ?>
    </body>
</html>
<?php
    // 5. Close connection
    mysql_close($connection);
?>
于 2012-04-21T06:05:00.363 に答える
-1

理由は 2 つあります..... 1. select クエリの使用中、またはホスト、ユーザー名、パスワード、db の割り当て中に、テーブル naem の割り当てを間違えた可能性があります 2. while ループの前にこれを使用する必要があります

if(mysql_num_rows($result)>0){ while($row = mysql_fetch_array($result))
     {
        echo $row['name'];
    } }

それがあなたの問題を解決することを願っています

于 2012-04-21T06:02:51.413 に答える
-2

これにより、クエリが失敗する理由がわかります。

$result = mysql_query("SELECT * FROM ralf") or die(mysql_error());
于 2012-04-21T06:03:08.180 に答える