2

私は次のPHPコードを持っています:

$con = mysql_connect("localhost","name","pass") or die(mysql_error());

$db = "db";

mysql_select_db($db,$con);

今私の経験で$conは、真か偽かであるはずです。私が得るときecho $con

Resource id #25

次のコードを実行すると、エコーは発生しません(上記のステートメントの後に予想されるように)。

if($con) { echo "it worked"; }

この接続に対してクエリを実行すると、すべてが期待どおりに機能します。$conこれが真または偽にならない理由はありますか?

私は何が間違っているのですか?

ありがとう

4

3 に答える 3

5

mysql_connect戻り値を確認してください:

Returns a MySQL link identifier on success or FALSE on failure.

したがって、接続を確認するには:

if($con !== false) { echo "it worked"; }

またはエラーが発生した場合に終了するには:

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

ただし、間もなく廃止されるため、代わりにMySQLiまたはPDO_MySQLを使用することをお勧めします。mysql_connect

警告

この拡張機能はPHP5.5.0で非推奨になり、将来削除される予定です。代わりに、MySQLiまたはPDO_MySQL拡張機能を使用する必要があります。詳細については、MySQL:APIガイドの選択および関連するFAQも参照してください。この機能の代替手段は次のとおりです。

mysqli_connect()

PDO :: __construct()

于 2013-01-23T06:44:37.620 に答える
0

その単純なb/cまたはor die(mysql_error());最後に。

これを試してみてください:

<?php
$con = mysql_connect("localhost","name","pass");
$db = "db";
if (!$con)
  {
  die('Could not connect: ' . mysql_error());
  }

mysql_select_db($db,$con);
?> 
于 2013-01-23T06:47:20.497 に答える
-1

パーツのせいだと思いますor die(mysql_error());。私$con = mysql_connect("localhost","name","pass")だけがいいです。次に、次のように確認できますif (!$con)

于 2013-01-23T06:48:00.187 に答える