2011-02-02 15 views
8

このコードはMySQLiに相当するものですか?正しいことができません。MySQLiに相当するMySQLiコード

<?php 
if(mysql_num_rows(mysql_query("SELECT userid FROM users WHERE userid = '$userid'"))){ 
//code to be exectued if user exists 
} 
?> 

EDIT:ケア間違っているものを私に説明するには?私はそれを行うだろう

$mysqli = new mysqli($host, $username, $pass, $db); 

if ($mysqli->connect_error) { 
    die('The Server Is Busy. Please Try Again Later.'); 
} 
$result = $mysqli->query("SELECT userid FROM users WHERE userid = '$userid'"); 
if ($result->num_rows) { 
    echo "<h1>AWESOME</h1>"; 
} 
+0

あなたは1つの余分問合せ選択FOUND_ROWS() –

+3

うんで行うことができます。あなたは鼻で牛乳を飲むこともできます! – Mchl

+0

@mchl - Hehehehe – t0mgs

答えて

15

まあ、OOの意味で、それから行くだろうユーザーID):

(プリペアドステートメントを想定)に

$result = $mysqli->query("SELECT userid FROM users WHERE userid = '". $db->real_escape_string($userid) . "'); 
if ($result->num_rows) { 
    //code 
} 

:(仮定文字列のユーザーID)に

$result = $mysqli->query("SELECT userid FROM users WHERE userid = ".(int) $userid); 
if ($result->num_rows) { 
    //code 
} 

$stmt = $mysqli->prepare("SELECT userid FROM users WHERE userid = ?"); 
$stmt->bind_param('s', $userid); 
$stmt->execute(); 
$stmt->store_result(); 
if ($stmt->num_rows) { 
    //code 
} 

、それはあなたがMySQLiをのOOPのバージョンを(使用していると仮定していますこれは、あなたがしなければなりませんIMHOは、多くの点で人生を楽にしてくれるからです)。

+0

完全にそれに同意します。 – Mchl

+0

あなたは何かを忘れました –

+0

大佐のお返し。逃した。 – t0mgs

0
$connection = mysqli_connect(...); 

if(mysqli_num_rows(mysqli_query($connection,"SELECT userid FROM users WHERE userid = '$userid'"))){ 
//code to be exectued if user exists 
} 

ウェイ:数値と仮定すると(へ

if(mysql_num_rows(mysql_query("SELECT userid FROM users WHERE userid = '$userid'"))){ 
    //code to be exectued if user exists 
} 

$connection = mysqli_connect(...); 

$result = mysqli_query(
    $connection, 
    "SELECT COUNT(*) AS cnt FROM users WHERE userid = '$userid'" 
) or die(mysqli_error()); //use proper error handling here: or die() used for brevity 

$row = mysqli_fetch_assoc($result); 

if($row['cnt'] > 0) { 
    //do your thing 
} 
+0

いいえ、GO My Friend。質問する前に試してみてください:) – t0mgs

+0

@WideBlade:なぜあなたはその質問に言及していませんか? –

+0

それから間違ったことがあるはずですが、私たちにはあまり情報がありません。エラーメッセージが出ますか? $ connectionは実際にはmysqliのリンクリソースですか? – Mchl

1

私は、このようにそれを行うだろう:

$result = $mysqli->query("SELECT userid FROM users WHERE userid = '$userid'"); 
$row = mysqli_fetch_assoc($result); 

if ($row['userid'] > 0) { 
    echo "<h1>AWESOME</h1>"; 
}