1

選択クエリがあります。別の短いif-formは、このselectクエリが何かを返すかどうかをチェックします。

ので、私は持っています:

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

だから私はmysqliに変換したいのですが、次のコードは間違っているようです($ db = 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...

ですから、とてもフレンドリーで、これを解決するためのアドバイスをくれる人がいたら、本当にありがたいです。どうもありがとう。

4

2 に答える 2

1

手続き型モードのmysqliは、デフォルトではmysqlライブラリのように最後に確立された接続を使用しません。毎回明示的に接続を含める必要があります。

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

同様に、num_rowsの場合はmysqli_stmt_num_rows($result)

于 2012-04-21T23:03:21.637 に答える
0

手続き型(つまり、オブジェクト指向アプローチではなくmysqli_query)を使用している場合は、mysqli_queryのパラメーターに$ linkvarを追加する必要があります。

于 2012-04-21T23:05:33.030 に答える