Jak vložit data, ne-li existuje v mysql?

hlasů
-2

Učím PHP. Rád bych vložit data do databáze MySQL pouze tehdy, když není tam žádný záznam. Nebo, pokud existuje nějaký záznam Chtěl bych ji aktualizovat. Jak to mohu udělat?

Položena 07/06/2015 v 18:04
zdroj uživatelem
V jiných jazycích...                            


3 odpovědí

hlasů
3

Ty jsou ve skutečnosti hledá UPSERT/MERGEvyjádření MySQL; což není nic jiného INSERT IGNORE ... ON DUPLICATE KEY UPDATE. Vzorek příkladem by bylo jako níže

INSERT IGNORE  INTO table1 (a,b,c) VALUES (1,2,3)
  ON DUPLICATE KEY UPDATE c=c+1;

Zkontrolujte dokumentaci pro více informací o totéž.

Odpovězeno 07/06/2015 v 18:15
zdroj uživatelem

hlasů
0

Zkuste s tímto kódem pro mysqli:

$query= $db->query("SELECT COUNT(*) FROM `table` WHERE column = `$var`");
$count= $result->fetch_row();
if($count <= 0){
$insert="INSERT IGNORE  INTO table VALUES('".$var."')";
$dbh->mysqli_query($insert);
echo .$var "Inserted";
}else{
echo "Variable already found in column";
}
Odpovězeno 07/06/2015 v 18:28
zdroj uživatelem

hlasů
0

To by mělo pomoci získat jste začali. Ale dejte nám prosím kód pro práci s příště!

$result = mysql_query(MySqlQuery);
$num_rows = mysql_num_rows($result);

//if a record or records exist...
if ($num_rows > 0) {
  // do something
}
else {
  // do something else
}
Odpovězeno 07/06/2015 v 18:06
zdroj uživatelem

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more