0

xamppで次のコードを実行しています(完全にインストールされています)。mysql を mysqli に置き換え、クエリを再配置しました (最初に接続し、後でステートメントに挿入します) が、すべて役に立ちませんでした。助けてください。

エラー: 警告: mysql_query() は、パラメーター 2 がリソースであると想定しています。19 行目の C:\xampp\htdocs\test.php で指定された文字列です。

<?php


    $hname = "localhost";
    $username = "root";
    $password = "";
    $db = "test";

    $connect = mysql_connect($hname, $username, $password, $db);


    if ($connect) {
        echo "Connected to Database <br /> <br />";

        $ins = "INSERT INTO 'test'.'testtable' (name) VALUES ('james')";

        //mysql_select_db ($connect, "users");

        if (mysql_query("INSERT INTO 'test'.'testtable' (name) VALUES ('james')", "mysql_connect($hname, $username, $password, $db)")) {
            echo "Values Entered Successfully. Your Account was created";
        } else {
            echo "Your Account was not created";

        }

    }   else {
            echo "Failed to Connect :(";
    }

?>
4

3 に答える 3

0

これを接続してみてください。

mysql_connect("localhost", "root", "password") or die(mysql_error());
    echo "Connected to MySQL<br />";
mysql_select_db("test") or die(mysql_error());


For the MYSQL INSERT try:


mysql_query("INSERT INTO testtable (name) VALUES('hunaid') ") 
or die(mysql_error());  

それが役に立てば幸い!

于 2013-04-16T08:40:08.833 に答える
0

$dbmysql_connect には引数がありません。それを削除します。

mysql_connectパラメータについては、このリンクを確認してくださいhttp://php.net/manual/en/function.mysql-connect.php

なぜmysql_connect($hname, $username, $password)mysql_query を渡すのですか。MySQL クエリの前に、すでに接続を作成しています。リンク識別子が指定されていない場合は、によって開かれた最後のリンクmysql_connect()が想定されます。

ただし、connect ステートメントをクエリに渡すことに非常にこだわる場合は、リソースとして渡す必要があります。現在、文字列として渡しています。connect ステートメントを引用符で囲まないでください。

また、db および table name を囲む一重引用符も削除します。

必要なものは次のとおりです。

if (mysql_query("INSERT INTO test.testtable (name) VALUES ('hunaid')", mysql_connect($hname, $username, $password))) {
    echo "Values Entered Successfully. Your Account was created";
} else {
   echo "Your Account was not created";

}

でもこれで十分だと思う

if (mysql_query("INSERT INTO test.testtable (name) VALUES ('hunaid')")) {
    echo "Values Entered Successfully. Your Account was created";
} else {
   echo "Your Account was not created";
}

connect ステートメントは、最初に作成済みであるため、指定する必要はありません。

また、クエリでデータベースを指定する代わりに。mysql_select_dbクエリを実行する前に dB を選択するために追加します。

したがって、完全なものは次のようになります。

$hname = "localhost";
$username = "root";
$password = "";
$db = "test";

$connect = mysql_connect($hname, $username, $password);

if ($connect) {

    echo "Connected to Database <br /> <br />";

    mysql_select_db($db);

    $ins = "INSERT INTO testtable (name) VALUES ('james')";

    if (mysql_query($ins)) {
         echo "Values Entered Successfully. Your Account was created";
    } else {
        echo "Your Account was not created";

    }
}   else {
    echo "Failed to Connect :(";
}

さらに、mysql* 関数の使用は避けてください。

この拡張モジュールは PHP 5.5.0 で非推奨になり、将来的に削除される予定です。代わりに、MySQLiまたはPDO_MySQLエクステンションを使用する必要があります

これがお役に立てば幸いです:)

于 2013-04-16T08:41:03.673 に答える