2012-02-02 14 views
0
if ($stmt = $conn->prepare("SELECT COUNT(*) FROM list WHERE listName = ? LIMIT 1")) { 
    $listName = '$_POST[lname]'; 
    $stmt->bind_param("s", $listName); 
    $stmt->execute(); 
    $stmt->bind_result($count); 
    $stmt->close(); 
} 
    if ($count>0) 
{//do some insert} 
else 
{echo "exist , <a href="">back</a>";} 

行が存在するかどうかチェックできますか?これを行うもっとエレガントな方法はありますか?ありがとうmysqliを使用して1行レコードのみを取得する

$stmt = $conn->prepare("SELECT COUNT(*) FROM list WHERE listName = ?"); 
$listName = $_POST['lname']; 
$stmt->bind_param("s", $listName); 
$stmt->execute(); 
$stmt->store_result(); 
try { 
    if ($stmt->num_rows > 0) { 
     throw new Exception('The list name is existed'); 
    } 
} catch (Exception $e) { 
    echo $e->getMessage(); 
    echo '<br />'; 
    exit('<a href="">back</a>'); 
    $stmt->close(); 
} 

修正後、正しいですか?それはちょうどリストの名前に入るので、

+0

は、IDを取得するだけで、それ以外の場合は、カウントを落とす。 –

+0

idの意味は?お返事は – user782104

答えて

1
$stmt->execute(); 
$stmt->store_result(); 
try { 
    if ($stmt->num_rows == 0) { 
     throw new Exception('There is no records'); 
    } 
} catch (Exception $e) { 
    echo $e->getMessage(); 
    echo '<br />'; 
    exit('<a href="">back</a>'); 
} 
+0

ですまだ見てください – user782104

+0

'$ listName = '$ _POST [lname]';' $ listName = $ _POST ['lname']; ' 代わりに' SELECT COUNT(*)FROM list WHERE listName =? LIMIT 1 '' SELECT * FROM list WHERE listName =? ' – cetver

+0

まだ問題があります。私の変更コード.thanks a lot – user782104

関連する問題