p_id=4 moet op de E_id van P-id=10
Wat is het nou ? p_id of P-id?
update TABELNAAM set E_id = ( select d_id from TABELNAAM where p_id = 4 ) where p_id = 10;
Link gekopieerd
Ik vind dit vrij warrig worden met onduidelijke cryptische veldnamen, maar ik wil er best even mee experimenteren.
Maar dan heb ik toch echt een dumpje nodig met een CREATE TABLE en een INSERT INTO met wat fictieve data.
Misschien zouden duidelijke veldnamen ook helpen.
Link gekopieerd
Ik kreeg op uw query een foutmelding.
Heb nu een klein progje geschreven die de query vervangt.
Alvast bedankt voor de vele moeite.
<?php
$result = mysqli_query($con,"SELECT * FROM tabelnaam WHERE P_id = 4 " );
while ($row = mysqli_fetch_array($result))
{
$ingave = $row["value"];
$id = $row["id"];
$sql = "UPDATE tabelnaam SET E_id = '$ingave' WHERE P_id = 10 and id =$id";
if ($con->query($sql) === TRUE) {
echo "Record updated successfully";
} else {
echo "Error updating record: " . $conn->error;
}
}
?>
Link gekopieerd
Ik heb nooit ene hele query gegeven. maar ik ben blij dat het gelukt is.
Ik raad je wel aan om fatsoenlijke benaming te gebruiken.
Link gekopieerd
Heb nog een vraagje die jij zeker weet
Progje zoals hierboven blijft even hangen als de E_id een naam is met een ' in zoals 's-Hertogenbosch
Wat kan ik aanpassen in mijn progje?
Link gekopieerd
Je zult mysqli_real_escape_string() op de juiste manier in je query moeten gebruiken.
In dit geval op $ingave en $id.
Je moet altijd je invoer escapen voor de veiligheid. Nu laat je jouw query onbedoeld over een ' struikelen. Maar met SQL-injection kan tevens elke gebruiker je query manipuleren met gevolgen van dien.
Link gekopieerd