-1

ページが要求されたときにデータベースを変更する php スクリプトがあります。これがphpです:

<?php
date_default_timezone_set('EST');//set time zone
$con=mysqli_connect("baukin.fatcowmysql.com","sas","***pass***","dbname");//establish connection
// Check connection
if (mysqli_connect_errno())//ping database to check connection
  {
  echo "Failed to connect to MySQL: " . mysqli_connect_error();//error message
  }
else
{
echo "Successfully updated database";//success message
}
mysqli_query($con,"UPDATE dryers SET STATE='$_GET[state]' WHERE MACHINEID ='$_GET[machine_id]' ");//update state

mysqli_query($con,"UPDATE dryers SET UPDATETIME=date('m/d/y H:i:s') WHERE MACHINEID = '$_GET[machine_id]' ");//update time

mysqli_close($con);//close connection
?>

次のエラーが表示されます。

    Warning: mysqli_connect() [function.mysqli-connect]: (HY000/2005): Unknown MySQL server host 'server' (0) in /home/content/57/10410357/html/updatedatabase.php on line 3
Failed to connect to MySQL: Unknown MySQL server host 'server' (0)
Warning: mysqli_query() expects parameter 1 to be mysqli, boolean given in /home/content/57/10410357/html/updatedatabase.php on line 13

Warning: mysqli_query() expects parameter 1 to be mysqli, boolean given in /home/content/57/10410357/html/updatedatabase.php on line 15

Warning: mysqli_close() expects parameter 1 to be mysqli, boolean given in /home/content/57/10410357/html/updatedatabase.php on line 17

私はphpを初めて使用しますが、その理由は何ですか?

4

5 に答える 5

1

3号線

$con=mysqli_connect("server","db","user","password");//establish connection

「サーバー」をホストアドレスまたは「localhost」に変更します

私の仮定は、データベース名 = "db"、ユーザー = "user"、ユーザーのパスワード = "password" です。

正しいデータベース名、ユーザー、およびパスワードに変更するだけではない場合

于 2013-09-11T04:11:09.007 に答える
1

このエラーは、$conが正しく初期化されていないために発生します (おそらく、多くのサーバーがそうであるように、MySQL はローカル接続のみに制限されているためです)。そのため、 の後にエラーが発生しmysqli_connect()ます。

MySQL に接続できない場合は、空のオブジェクトをクエリしようとせずに、スクリプトを強制終了するか、エラー メッセージを表示する必要があります。

1 つの選択肢:

if (!$con) {
    echo "Error connecting to MySQL: " . mysql_connect_error();
    die; // You can kill the script here
}

別のもの:

if (!$con) { // Error connecting
    echo "Error connecting to Mysql: " . mysql_connect_error();
    // Another message here if you want
}
else { // Connection ok
    mysqli_query( /* bla bla bla */ );
    // ...
}

接続変数が適切に定義されていない場合は値を返さないため、の代わりに$con値 (ifnullまたは not) を検証していることに注意してください。mysqli_connection_errno()

この種の検証は、mysqli_connect() ドキュメントの例から直接取得されます。

于 2013-09-11T04:29:13.423 に答える
0

サーバーの名前であっても、server を localhost に変更します。サーバーは常にローカルホストです。

于 2013-09-11T04:22:12.323 に答える
0

Unknown MySQL server host

Mysql がサーバーを見つけられません

この行で、サーバーを確認します

$con=mysqli_connect("server","db","user","password")

ドキュメントを確認する

于 2013-09-11T04:11:29.707 に答える
-2
$con=mysqli_connect("server","db","user","password");//establish connection

これらの変数を定義する必要があります

DEFINE('SERVER', 'localhost');

DEFINE('db','whatever');

DEFINE('user','nickcage');

DEFINE('password','conair');
于 2013-09-11T04:12:30.660 に答える