Update Mysql geeft fout, en ik ben door dit warme weer effe de draad kwijt!
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
// Strings DB
include ("NLconfig_db_update.php");
// connectie met de DB
$link = mysql_connect($dbhost, $dbuser, $dbpass) or die("<b>error</b>: failed to connect to database");
// Naam v/d DB
mysql_select_db($dbname);
$xml = simplexml_load_file('***.xml');
foreach($xml->product as $product){
//<name>
$xmlName = htmlentities(($product->name), ENT_QUOTES, 'UTF-8');
$fieldName = trim(html_entity_decode($xmlName));
//<productEvent>
$fieldEvent = $product->productEvent;
// MySQL
mysql_query ("UPDATE `".$mysql_table."` SET name = ".$fieldName." WHERE event = ".$fieldEvent." ")or die (mysql_error());;
}
echo "DATA UPDATED.";
mysql_close($link);
?>
// Strings DB
include ("NLconfig_db_update.php");
// connectie met de DB
$link = mysql_connect($dbhost, $dbuser, $dbpass) or die("<b>error</b>: failed to connect to database");
// Naam v/d DB
mysql_select_db($dbname);
$xml = simplexml_load_file('***.xml');
foreach($xml->product as $product){
//<name>
$xmlName = htmlentities(($product->name), ENT_QUOTES, 'UTF-8');
$fieldName = trim(html_entity_decode($xmlName));
//<productEvent>
$fieldEvent = $product->productEvent;
// MySQL
mysql_query ("UPDATE `".$mysql_table."` SET name = ".$fieldName." WHERE event = ".$fieldEvent." ")or die (mysql_error());;
}
echo "DATA UPDATED.";
mysql_close($link);
?>
Hij geeft deze fout!
-You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near 'XXX WHERE event = XXX' at line 1
Code (php)
1
mysql_query ("UPDATE `".$mysql_table."` SET name = '".$fieldName."' WHERE event = '".$fieldEvent."' ")or die (mysql_error());
Daarbij controleer je helemaal niet (nooit) of iets is gelukt.. :)
mysql_real_escape_string en natuurlijk een quote eromheen
UPDATE tabelnaam SET veldnaam = 'Waarde' WHERE veld = 'andere waarde';
UPDATE tabelnaam SET veldnaam = 'Waarde' WHERE veld = 'andere waarde';
Gewijzigd op 01/01/1970 01:00:00 door Hipska BE
Dat heb ik toch gebruikt?
maat schreef op 30.06.2009 22:58:
UPDATE tabelnaam SET veldnaam = 'Waarde' WHERE veld = 'andere waarde';
Dat heb ik toch gebruikt?
Dat heb ik toch gebruikt?
Niet in je eerste post.
Let op de kleine enkele quotes
In je PM las ik dat je je afvraagt wat je niet controleerd:
Regel 8 en Regel 16 zijn functies die wel eens een foutmelding terug kunnen geven. Jij gebruikt DIE bij je mysql_query functie, dat kan maar is niet netjes.
De functie geeft false terug wanneer het niet is gelukt, beter is daarom:
Zelfde geld eigenlijk voor simplexml_load_file(), deze functie kan ook mislukken. Je wilt een passende melding geven en je wilt ook weten wat er wel en niet lukt. Daarom moet je altijd controles inbouwen.