opbouw sql query
Ik zit met een probleem ik zou in een tabel een query willen loslaten , die de p_id (4)(Aalst) update van P_id(10)in de E_id
De tabel bevat meerdere records met een ander id natuurlijk.
Dit is hoe het nu is :
id P_id d_id E_id
9844 2 Zwembadlaan 2
9844 4 Aalst
9844 10 2
En het zou dit moeten worden :
id P_id d_id E_id
9844 2 Zwembadlaan 2
9844 4 Aalst
9844 10 2 Aalst
Kan iemand helpen AUB
Dank bij voorbaat
Hoe ziet je query er nu uit?
Ik zou deze query enkel eens gebruiken op het veld E_id op te vullen met de value(d_id)vanP_id(10)
Die kan je dan gewoon toevoegen? of zie ik dat verkeerd?
Misschien moet je wat meer context geven over je opzet, en een sample van je datastructuur en wat dummy data erbij.
Aalst zou op de plaats E_id moeten komen waar P_id gelijk is aan 10
Gewijzigd op 19/01/2023 14:32:37 door - Ariën -
Aan hele output van ruim honderden adressen hebben we niks, en daar willen we niks mee.
Gewijzigd op 19/01/2023 15:17:30 door - Ariën -
Met [img][/img] weet ik geen raad .
Gewijzigd op 19/01/2023 15:45:21 door - Ariën -
Gewijzigd op 19/01/2023 15:56:48 door - Ariën -
4 velden in DB met verschillende gelijke id's
id P_id d_id E_id
9844 2 Zwembadlaan 2
9844 4 Aalst
9844 10 2
Wat wil ik juist.
De d_id value van p_id=4 moet op de E_id van P-id=10 komen
DUS
9844 2 Zwembadlaan 2
9844 4 Aalst
9844 10 2 Aalst
inderdaad er moet een update gebeuren van E_id waar d_id=10
Wat is het nou ? p_id of P-id?
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.
Gewijzigd op 19/01/2023 17:02:35 door - Ariën -
Heb nu een klein progje geschreven die de query vervangt.
Alvast bedankt voor de vele moeite.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<?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;
}
}
?>
$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;
}
}
?>
Gewijzigd op 19/01/2023 17:10:36 door - Ariën -
Ik raad je wel aan om fatsoenlijke benaming te gebruiken.
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?
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.
Gewijzigd op 19/01/2023 17:26:07 door - Ariën -