[MySQL] Query via PHP geeft error maar via phpMyAdmin Niet

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

  • JumpingCycle
  • Registratie: Oktober 2003
  • Laatst online: 17-09 21:26
ik heb een query die automatisch samengesteld wordt in een php script:

INSERT INTO orders ( orderstring , bestelling , bevestigd ) VALUES ( '397564596f7a65897209fbbb06231cb392da1488d6a89ee9abb7b9271936c501', 'a%3A1%3A%7Bi%3A1%3Ba%3A2%3A%7Bi%3A0%3Bs%3A3%3A%22100%22%3Bi%3A1%3Bs%3A1%3A%226%22%3B%7D%7D', '0' );

Als ik deze uitvoer via een php command:

code:
1
2
3
4
5
function doSqlQry ( $sql )
{
    $my_result = mysql_query( $sql ) or die("<br>Database Query Error:<br><br>$sql");
    return $my_result;
}


Krijg ik die errormelding! Maar als ik hem via phpMyAdmin uitvoer gaat alles ok...

Wat doe ik fout, 'k wordt er hopeloos van....

Acties:
  • 0 Henk 'm!

  • Tux
  • Registratie: Augustus 2001
  • Laatst online: 21:53

Tux

Doe anders eens or die (mysql_error ()); dan zie je precies waardoor het komt.

The NS has launched a new space transportation service, using German trains which were upgraded into spaceships.


Acties:
  • 0 Henk 'm!

  • chem
  • Registratie: Oktober 2000
  • Laatst online: 22:59

chem

Reist de wereld rond

en wat is de error die mysql terug geeft?

Klaar voor een nieuwe uitdaging.


Acties:
  • 0 Henk 'm!

  • JumpingCycle
  • Registratie: Oktober 2003
  • Laatst online: 17-09 21:26
de error die hij terug geeft:

code:
1
You have an error in your SQL syntax near '; ' at line 1


Blijkt de punt-komma aan het einde van de query te zijn...

Verwijderd en werkt perfect nu!

Die ';' afsluiting ooit op school geleerd met een module SQL, zucht...

[ Voor 7% gewijzigd door JumpingCycle op 18-11-2003 21:06 ]


Acties:
  • 0 Henk 'm!

  • Glock
  • Registratie: November 2001
  • Niet online
JumpingCycle schreef op 18 november 2003 @ 21:04:
Die ';' afsluiting ooit op school geleerd met een module SQL, zucht...
Die hoort er officieel ook bij, maar in PHP wordt deze nog eens automatisch toegevoegd. Dus als je deze ook in je PHP script neerplant staat er een dubbele ;, dus de ; is goed, alleen moet je hem niet vermelden omdat PHP dat voor je doen ;)
Staat overigens ook vermeld bij de doc van mysql_query

Acties:
  • 0 Henk 'm!

  • Grijze Vos
  • Registratie: December 2002
  • Laatst online: 28-02 22:17
Ik zet in al mijn queries een ; aan het einde, en heb nergens last van hoor...

Op zoek naar een nieuwe collega, .NET webdev, voornamelijk productontwikkeling. DM voor meer info


Acties:
  • 0 Henk 'm!

  • Oid
  • Registratie: November 2002
  • Niet online

Oid

Grijze Vos schreef op 19 november 2003 @ 10:25:
Ik zet in al mijn queries een ; aan het einde, en heb nergens last van hoor...
Omdat je waarschijnlijk doet mysql_query("Query;"); met een "" kan het wel een ; aan het einde, dus als je doet:
PHP:
1
2
3
4
5
6
7
<?
function doSqlQry ( $sql )
{
    $my_result = mysql_query("'" .  $sql . "'") or die("<br>Database Query Error:<br><br>$sql");
    return $my_result;
}
?>

Acties:
  • 0 Henk 'm!

  • ripexx
  • Registratie: Juli 2002
  • Laatst online: 17-09 20:52

ripexx

bibs

De volgende code werkt geheel goed hier:

PHP:
1
2
3
4
5
6
7
8
function do_query($sql)
{
    $result = mysql_query($sql) or die ("<b>MySQL Error</b>
<br>MySQL error: ".Mysql_error()."<br>SQL Query: ".$sql);
    return $result;
};
$sql = "SELECT * FROM table;";
$query = do_query($sql);


Gewoon elke SQL query afsluiten met een ;. Nog nooit problemen mee gehad. Maar ik heb zo;n vermoeden dat jouw probleem ontstaat bij URL decode problemen. Jouw string wordt na een decode dit:
code:
1
a:1:{i:1;a:2:{i:0;s:3:"100";i:1;s:1:"6";}}


Ik denk dan ook dat deze ";" voor probelmen zorgen. :) Waar nu exact de oorzaak zit weet ik niet maar waarom wil je die string op deze manier opslaan?

buit is binnen sukkel

Pagina: 1