-1

次のコードを使用していますが、うまくいきません。

$con=mysqli_connect("localhost","root","","my_db");
$check="SELECT COUNT(*) FROM persons WHERE Email = '$_POST[eMailTxt]'";
if (mysqli_query($con,$check)>=1)
{
    echo "User Already in Exists<br/>";
}
else
{
    $newUser="INSERT INTO persons(Email,FirstName,LastName,PassWord) values('$_POST[eMailTxt]','$_POST[NameTxt]','$_POST[LnameTxt]','$_POST[passWordTxt]')";
    if (mysqli_query($con,$newUser))
    {
        echo "You are now registered<br/>";
    }
    else
    {
        echo "Error adding user in database<br/>";
    }
}

クラス mysqli_result のオブジェクトをC:\xampp\htdocs\Exp\welcome.phpで int に変換できませんでした

4

4 に答える 4

5

このコードはあなたにとってうまくいきます...

$con=mysqli_connect("localhost","root","","my_db");
$check="SELECT * FROM persons WHERE Email = '$_POST[eMailTxt]'";
$rs = mysqli_query($con,$check);
$data = mysqli_fetch_array($rs, MYSQLI_NUM);
if($data[0] > 1) {
    echo "User Already in Exists<br/>";
}

else
{
    $newUser="INSERT INTO persons(Email,FirstName,LastName,PassWord) values('$_POST[eMailTxt]','$_POST[NameTxt]','$_POST[LnameTxt]','$_POST[passWordTxt]')";
    if (mysqli_query($con,$newUser))
    {
        echo "You are now registered<br/>";
    }
    else
    {
        echo "Error adding user in database<br/>";
    }
}
于 2013-07-04T08:39:01.197 に答える
3

mysqli_query関数は結果セット ハンドルを返します。次に、そこから行を読み取る必要があります。

$rs = mysqli_query($con,$check);
$data = mysqli_fetch_array($rs, MYSQLI_NUM);
if($data[0] > 1) {
    //user exists;
}

小さな テーブルでは大きな違いは見られませんが、数十万行の大きなテーブルでは、違いが大きくなる可能性がありますSELECT count(1) FROM ...SELECT count(*) FROM ...

于 2013-07-04T08:33:53.743 に答える
2

mysqli_queryオブジェクトを返しmysqli_resultます。これを整数と比較するのではなく、次を使用してみてくださいnum_rows

$res = mysqli_query($con,$check);
if($res->num_rows){
    //User exists
}

編集:上記は、クエリが使用されていると想定してSELECT *おり、これは では機能しませんSELECT COUNT(*)。Aleks Gの答えをチェックしてください。

于 2013-07-04T08:32:15.893 に答える
-1

次のコードを試すことができます。

$query_code = "SELECT COUNT(itemCode) FROM masterData WHERE itemCode='{$itemCode}'";
$result_login = mysqli_query($conn,$query_code);
$anything_found = mysqli_num_rows($result_login);

if($anything_found > 0) {
    $formOk = false;
    echo "ITEM CODE ALREADY EXISTS! Please try again.";  
}
于 2016-07-30T02:13:47.203 に答える