2012-04-21 7 views
1

私は選択クエリを持っています。もう1つの短いif-formは、このselectクエリが何かを返すかどうかをチェックします。mysqlをmysqliに変換するクエリを確認する

ので、私は持っている:

$query = "SELECT `a` FROM `b` WHERE c='$c'"; 
$test = ($query = mysql_query($query)) ? $mysql_num_rows($query) : 0; 

ので、私はmysqliのに変換したいと思いますが、次のコードは、($デシベル= mysqliの)間違っているようだ:

$query = "SELECT `a` FROM `b` WHERE c='$c'"; 
$test = ($query = $db->query($query)) ? $db->num_rows($query) : 0; 

使用:

$test = ($query = mysqli_query($query)) ? mysqli_num_rows($query) : 0; 

エラーメッセージが表示されます。

Warning: mysqli_query() expects at least 2 parameters, 1 given... 

私は本当に感謝して、これを解決するために私に助言を与えることができるフレンドリーである誰かがあれば。どうもありがとう。

+0

'$ mysql_num_rows(...)'はタイプミスです、私は推測していますか?変数関数は可変変数ほど怖いです。 –

+0

$ dbクラスをインスタンス化しましたか? –

+0

私は質問 – bonny

答えて

1

手順モードのmysqliは、mysqlライブラリのように最後に確立された接続を使用しないようにデフォルト設定されていません。 、同様

$test = ($query = mysqli_query($conn, $query)) ? mysqli_num_rows($query) : 0; 
           ^^^^^^ 

NUM_ROWSのために、それはmysqli_stmt_num_rows($result)

+0

このエコーを使用して警告:mysqli_query()は、パラメータ1がmysqli、nullであると想定しています。// $ db = new mysqli( "localhost"、 "my_user"、 "my_password"、 "world"); – bonny

+0

ええ、ええ、あなたはmysqli接続ハンドルのために使っているvarを渡す必要があります...それはmysqli_connect()から返されたものです。 –

+0

申し訳ありませんが、私は問題を理解しています。それはどういう意味ですか?ありがとう。 – bonny

0

だあなたは手続き型(すなわちmysqli_queryの代わりに、オブジェクト指向のアプローチ)を使用している場合は、あなたが追加する必要があります:あなたは明示的に接続を毎回含める必要がありますmysqli_queryの$ link変数

関連する問題