Angenommen, ich habe diese Tabelle:
id | name | city
------------------
1 | n1 | c1
2 | n2 | c2
3 | n3 | c3
4 | n4 | c4
Ich möchte prüfen, ob der Wert c7
unter der Variablen city
existiert oder nicht.
Wenn ja, werde ich etwas tun.
Wenn dies nicht der Fall ist, werde ich etwas anderes tun.
bevorzugter Weg, mit MySQLi-Erweiterung:
$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();
veraltet:
$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...
}
"SELECT * FROM yourTable WHERE city = 'c7'"
"SELECT * FROM yourTable WHERE city LIKE '%c7%'"
Natürlich können Sie '%c7%'
in '%c7'
oder 'c7%'
ändern, je nachdem, wie Sie es durchsuchen möchten. Verwenden Sie für die exakte Übereinstimmung das erste Abfragebeispiel.
$result = mysql_query("SELECT * FROM yourTable WHERE city = 'c7'");
$matchFound = mysql_num_rows($result) > 0 ? 'yes' : 'no';
echo $matchFound;
Sie können dort auch die if
-Bedingung verwenden.
Angenommen, die Verbindung ist hergestellt und im globalen Bereich verfügbar;
//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;
}
}
Verwendung: Angenommen, der zu überprüfende Wert wird in der Variablen $ username gespeichert.
if (record_exists ( 'employee', 'username', $username )){
echo "Username is not available. Try something else.";
} else {
echo "Username is available";
}
Ich habe versucht, dies eine Weile zu machen und $sqlcommand = 'SELECT * FROM database WHERE search="'.$searchString.'";';
funktioniert nur, wenn ZWEI identische Einträge vorhanden sind, aber , wenn Sie .__ ersetzen.
$sth = $db->prepare($sqlcommand);
$sth->execute();
$record = $sth->fetch();
if ($sth->fetchColumn() > 0){}if ($sth->fetchColumn() > 0){}
Mit if ($result){}
it arbeitet nur mit einem passenden Datensatz. Ich hoffe, das hilft.
SELECT
IF city='C7'
THEN city
ELSE 'somethingelse'
END as `city`
FROM `table` WHERE `city` = 'c7'
Zum Abgleichen der ID:
Select * from table_name where 1=1
Zum Anpassen des Musters:
Select * from table_name column_name Like '%string%'