Everything seems correct, but nothing happens. I want to INSERT a PHP exploded keyword list. into the new table, (already working/ OK): product_keywords
JavaScript
x
product_id keyword
from my old table PRODUCTS,
JavaScript
product_id keywords (a comma-list)
Where is the error(?)
explode echo TEST (already working/ OK)
JavaScript
$teile_arr = explode(",", $stringx);
foreach($teile_arr as $keyword){
echo " ID: ".$res_id[$i]."<br>";
echo "KW: ".$keyword."<br>";
}
html echo TEST result OK:
JavaScript
KW: Christmas
ID: 544405
KW: tree
ID: 544405
KW: Santa
ID: 544405
display input echo (already working/ OK)
JavaScript
foreach($teile_arr as $keyword){
echo "<input type='text' name='keyword".$res_id[$i]."' value='".$keyword."'>";
}
not working, table is still empty PHP does not insert any content in the database. There must be a problem with “foreach” at this point.
JavaScript
foreach($teile_arr as $keyword){
$sql="INSERT IGNORE INTO product_keywords SET product_id='".$res_id[$i]."', keyword='".$keyword."";
$db->execute($sql);
}
Advertisement
Answer
Insert statements use VALUES
, update statements use SET
.
JavaScript
"INSERT IGNORE INTO product_keywords SET product_id='".$res_id[$i]."', keyword='".$keyword."";
Should be
JavaScript
"INSERT IGNORE INTO product_keywords(product_id,keyword) VALUES ('{$res_id[$i]}', '{$keyword}')";
Also, you should be using prepared statements to protect from sql injection attacks.