Update Mysql geeft fout, en ik ben door dit warme weer effe de draad kwijt!

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Maat

maat

30/06/2009 15:04:00
Quote Anchor link
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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);
?>


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
 
PHP hulp

PHP hulp

20/11/2024 17:22:51
 
Robert Deiman

Robert Deiman

30/06/2009 15:36:00
Quote Anchor link
Quotes in je query en waarom 2 keer de ; aan het einde van je myslq_query regel?


Code (php)
PHP script in nieuw venster Selecteer het PHP script
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.. :)
 
Hipska BE

Hipska BE

30/06/2009 16:34:00
Quote Anchor link
mysql_real_escape_string en natuurlijk een quote eromheen

UPDATE tabelnaam SET veldnaam = 'Waarde' WHERE veld = 'andere waarde';
Gewijzigd op 01/01/1970 01:00:00 door Hipska BE
 
Maat

maat

30/06/2009 22:58:00
Quote Anchor link
UPDATE tabelnaam SET veldnaam = 'Waarde' WHERE veld = 'andere waarde';

Dat heb ik toch gebruikt?
 
Maat

maat

30/06/2009 23:03:00
Quote Anchor link
zonder de xml te raadplegen doet ie het wel?

Gelieve Niet Bumpen::
Twee of meer keer achter elkaar in een topic posten heet bumpen. Bumpen is pas na 24 uur toegestaan en kan een reden zijn voor de admins en moderators om een topic te sluiten. Gebruik indien nodig de Afbeelding knop om je tekst aan te passen.

SanThe.
Gewijzigd op 01/01/1970 01:00:00 door maat
 
- SanThe -

- SanThe -

01/07/2009 05:46:00
Quote Anchor link
maat schreef op 30.06.2009 22:58:
UPDATE tabelnaam SET veldnaam = 'Waarde' WHERE veld = 'andere waarde';

Dat heb ik toch gebruikt?

Niet in je eerste post.
 
Jelmer -

Jelmer -

01/07/2009 06:59:00
Quote Anchor link
Let op de kleine enkele quotes
 
Robert Deiman

Robert Deiman

01/07/2009 11:03:00
Quote Anchor link
@maat
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:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
<?php
if(mysql_query('query')){
   //query gelukt
   }
else{
   //query niet gelukt
   }
?>


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.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.