verificar validar usuario saber registro hacer existe datos con comprobar antes php mysql exists

php - usuario - validar si un registro existe en la base de datos



Cómo verificar si el valor existe en una base de datos MySQL (5)

Supongamos que tengo esta tabla:

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

Quiero verificar si el valor c7 existe en la city variable o no.

Si lo hace, haré algo.
Si no es así, haré otra cosa.


Para el partido exacto

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

Para búsqueda de patrón / comodín

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

Por supuesto, puedes cambiar ''%c7%'' a ''%c7'' o ''c7%'' dependiendo de cómo quieras buscarlo. Para una coincidencia exacta, use el primer ejemplo de consulta.

PHP

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

También se puede utilizar if condición allí.


Forma preferida, utilizando la extensión 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();

obsoleto:

$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... }


Intenté hacer esto durante un tiempo y $sqlcommand = ''SELECT * FROM database WHERE search="''.$searchString.''";'';
$sth = $db->prepare($sqlcommand); $sth->execute(); $record = $sth->fetch(); if ($sth->fetchColumn() > 0){}
$sqlcommand = ''SELECT * FROM database WHERE search="''.$searchString.''";'';
$sth = $db->prepare($sqlcommand); $sth->execute(); $record = $sth->fetch(); if ($sth->fetchColumn() > 0){}
$sqlcommand = ''SELECT * FROM database WHERE search="''.$searchString.''";'';
$sth = $db->prepare($sqlcommand); $sth->execute(); $record = $sth->fetch(); if ($sth->fetchColumn() > 0){}
simplemente funciona si hay DOS entradas idénticas, pero si reemplaza if ($sth->fetchColumn() > 0){} con if ($result){} funciona con un solo registro coincidente, espero que esto ayude.


Suponiendo que la conexión esté establecida y esté disponible en el ámbito global;

//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; } }

Uso: Suponiendo que el valor a verificar se almacena en la variable $ username;

if (record_exists ( ''employee'', ''username'', $username )){ echo "Username is not available. Try something else."; } else { echo "Username is available"; }


SELECT IF city=''C7'' THEN city ELSE ''somethingelse'' END as `city` FROM `table` WHERE `city` = ''c7''