36

次のテーブルがあるとします。

id | name | city
------------------
1  | n1   | c1
2  | n2   | c2
3  | n3   | c3
4  | n4   | c4

c7変数の下に値が存在するかどうかを確認したいcity

もしそうなら、私は何かをします。
そうでない場合は、別のことをします。

4

8 に答える 8

70

MySQLi 拡張機能を使用した好ましい方法:

$mysqli = new mysqli(SERVER, DBUSER, DBPASS, DATABASE);
$result = $mysqli->query("SELECT id FROM mytable WHERE city = 'c7'");
if($result->num_rows == 0) {
     // row not found, do stuff...
} else {
    // do other stuff...
}
$mysqli->close();

非推奨:

$result = mysql_query("SELECT id FROM mytable WHERE city = 'c7'");
if(mysql_num_rows($result) == 0) {
     // row not found, do stuff...
} else {
    // do other stuff...
}
于 2012-07-02T11:16:06.043 に答える
18

完全一致の場合

"SELECT * FROM yourTable WHERE city = 'c7'"

パターン/ワイルドカード検索用

"SELECT * FROM yourTable WHERE city LIKE '%c7%'"

もちろん、検索方法に応じ'%c7%''%c7'またはに変更できます。'c7%'完全一致の場合は、最初のクエリ例を使用してください。

PHP

$result = mysql_query("SELECT * FROM yourTable WHERE city = 'c7'");
$matchFound = mysql_num_rows($result) > 0 ? 'yes' : 'no';
echo $matchFound;

You can also use if condition there.

于 2012-07-02T11:11:26.937 に答える
1

接続が確立され、グローバル スコープで使用可能であると仮定します。

//Check if a value exists in a table
function record_exists ($table, $column, $value) {
    global $connection;
    $query = "SELECT * FROM {$table} WHERE {$column} = {$value}";
    $result = mysql_query ( $query, $connection );
    if ( mysql_num_rows ( $result ) ) {
        return TRUE;
    } else {
        return FALSE;
    }
}

使用法: チェックする値が変数 $username に格納されていると仮定します。

if (record_exists ( 'employee', 'username', $username )){
    echo "Username is not available. Try something else.";
} else {
    echo "Username is available";
}
于 2016-02-11T05:01:17.143 に答える
0

私はこれをしばらく試してみました が、2 つ の同一のエントリがある場合にのみ機能しますが、それを置き換える と 、一致するレコードが 1 つだけで機能します。これが役立つことを願っています。 $sqlcommand = 'SELECT * FROM database WHERE search="'.$searchString.'";';
$sth = $db->prepare($sqlcommand); $sth->execute(); $record = $sth->fetch(); if ($sth->fetchColumn() > 0){}
if ($sth->fetchColumn() > 0){}if ($result){}

于 2014-08-20T05:34:01.770 に答える
0
SELECT
    IF city='C7'
    THEN city
    ELSE 'somethingelse'
    END as `city`
FROM `table` WHERE `city` = 'c7'
于 2012-07-02T11:14:51.810 に答える
0

これは私のために働く:


$db = mysqli_connect('localhost', 'UserName', 'Password', 'DB_Name') or die('Not Connected');
mysqli_set_charset($db, 'utf8');

$sql = mysqli_query($db,"SELECT * FROM `mytable` WHERE city='c7'");
$sql = mysqli_fetch_assoc($sql);
$Checker = $sql['city'];

if  ($Checker != null) {
    
    echo 'Already exists';
    
} else {

    echo 'Not found';
}

于 2021-01-01T15:43:44.497 に答える