SQL query werkt niet in php wel in phpmyadmin

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

.NET Developer / Innovatieve software / Virtual Re

Functieomschrijving Als .Net developer werken aan innovatieve software waar onder andere gebruik gemaakt wordt van Virtual Reality? Bijdragen aan een organisatie waar je uitgedaagd wordt om continu verbeteringen en ontwikkelpunten te ontdekken en door te voeren? Werken in de omgeving Putten? Reageer dan nu voor meer informatie! Het pro-actief aandragen van verbeteringen voor de bestaande applicatie; Ontwikkelen van nieuwe functionaliteiten; Doorvoeren van aanpassingen en wijzigingen; Verantwoordelijk voor koppelingen met andere systemen; Op de hoogte blijven van technische ontwikkelingen. Functie-eisen Hbo werk- en denkniveau; Een afgeronde IT gerelateerde opleiding; Minimaal 1 jaar professionele ervaring als developer; Aantoonbare kennis van C#; Initiatiefrijke

Bekijk vacature »

Ervaren senior C# developer in Arnhem gezocht

Organisatie Voor een van mijn businesspartners uit de omgeving van Arnhem ben ik op zoek naar een ervaren senior C# ASP.NET developer. Deze organisatie maakt complexe software producten voor bepaalde bedrijfsprocessen. Denk hierbij aan beslisregelsystemen, klachtenmanagementsystemen, digitale formulieren of een combinatie hiervan in één portaal. De software wordt specifiek op elke klant zijn wens aangepast. Bij de klanten moet je denken aan enerzijds provincies, gemeenten en overheidsinstanties en anderzijds aan banken, hypotheekverstrekkers en verzekeringsmaatschappijen. Binnen het bedrijf, van circa zestig man groot, heerst een informele sfeer. Collegialiteit staat er hoog in het vaandel, wat je terugziet in de wekelijkse vrijdagmiddagborrel

Bekijk vacature »

Php is mijn Voornaam

Php is mijn Voornaam

01/09/2012 17:35:38
Quote Anchor link
Ik zit nu al een tijdje te kijken wat ik over het hoofd zie van mijn code en ik kom er maar niet uit. Dus misschien kunnen jullie zien wat ik fout doe.

Dit is de code:

Quote:
//Creates the table for pages and messages
$sql = "
CREATE TABLE IF NOT EXISTS `pages` (
`id` int NOT NULL AUTO_INCREMENT primary key,
`title` varchar(255) NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=0 ;
";
$result = mysql_query($sql) or die("creating the table pages failed..");

$sql = "
CREATE TABLE IF NOT EXISTS `messages` (
`id` int AUTO_INCREMENT primary key NOT NULL,
`title` varchar(255) NOT NULL,
`description` text NOT NULL,
`page` varchar(255) NOT NULL,
`posting_date` datetime NOT NULL
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=0 ;
";
$result = mysql_query($sql) or die("creating the table messages failed..");
/********************************************
De query van messages maken werkt niet?
********************************************/
//This creates 2 pages and makes a message on the homepage and on the firstpage page.
$time = time();
$sql = "
INSERT INTO pages (title) VALUES ('Home');
INSERT INTO pages (title) VALUES ('firstpage');
INSERT INTO messages (title, description, page, posting_date) VALUES ('<h1>This is your first Message!</h1>', '<p>You can change this message if you like in the admin panel.</p>', 'home', '$time');
INSERT INTO messages (title, description, page, posting_date) VALUES ('<h1>Welcome to an example page!</h1>', '<p>This is just another test message and you can choose if you want to delete or modify this message in the admin panel.</p>', 'firstpage', '$time');
";
$result = mysql_query($sql) or die("SQL ERROR IN POST MAKING");

Als ik deze code uitvoer krijg ik altijd SQL ERROR IN POST MAKING. Dus in de laatste query zit een fout. Maar ik kan hem maar niet vinden. Als ik dit in PHPmyadmin uitvoer werkt het wel.?
 
PHP hulp

PHP hulp

19/09/2019 09:41:22
 
John Berg

John Berg

01/09/2012 17:37:51
Quote Anchor link
Als je nu die die("SQL ERROR IN POST MAKING");

eens vervangt door die ( mysql_error() );

dan zie je tenminste een echte foutmelding.
 
Php is mijn Voornaam

Php is mijn Voornaam

01/09/2012 17:52:27
Quote Anchor link
ik krijg

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 'INSERT INTO pages (title) VALUES ('firstpage'); INSERT INTO messages (title, d' at line 2

maar ik zie nog de fout niet :(
 
John Berg

John Berg

01/09/2012 18:06:22
Quote Anchor link
Hmm .. ik zie hem zo vlot ook niet.

Wat je zou kunnen proberen is $time = time() te vervangen door $time = date( 'Y-m-d H:i:s') en in de sql de quotes om $time weglaten?
 
Php is mijn Voornaam

Php is mijn Voornaam

01/09/2012 18:15:26
Quote Anchor link
Ik heb nu de insert into met de time variable weg gelaten en alleen de

INSERT INTO pages (title) VALUES ('Home');
INSERT INTO pages (title) VALUES ('firstpage');

gelaten. Dan krijg ik nog steeds dezelfde error.

als ik die 2 insert into niet doe en juist die met time krijg ik ook weer die error maar dan met de nieuwe tekst <.<
En als ik de quotes bij $time weg haal maakt het niet uit. nog steeds zelfde error.

Normaal gesproken werkt dit gewoon. Wat zie ik over het hoofd... Om gek van te worden ;-)
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

01/09/2012 18:19:31
Quote Anchor link
Hmz, over kippevel en kromme tenen gesproken dit kan niet waar zijn.
 
Php is mijn Voornaam

Php is mijn Voornaam

01/09/2012 18:37:10
Quote Anchor link
Nu komt het rare,

Ik heb nu alle insert into's opgedeeld in verschillende variabels.
Wat natuurlijk zeer geheugen verspillend is.

Maar deze code werkt wel:

Quote:
$time = time();
$sql = "INSERT INTO pages (title) VALUES ('Home');";
$sql1 = "INSERT INTO pages (title) VALUES ('firstpage');";
$sql2 = "INSERT INTO messages (title, description, page, posting_date) VALUES ('<h1>This is your first Message!</h1>', '<p>You can change this message if you like in the admin panel.</p>', 'home', '$time');";
$sql3 = "INSERT INTO messages (title, description, page, posting_date) VALUES ('<h1>Welcome to an example page!</h1>', '<p>This is just another test message and you can choose if you want to delete or modify this message in the admin panel.</p>', 'firstpage', '$time');";
$result = mysql_query($sql) or die (mysql_error());
$result1 = mysql_query($sql1) or die (mysql_error());
$result2 = mysql_query($sql2) or die (mysql_error());
$result3 = mysql_query($sql3) or die (mysql_error());


dus het gaat fout in de sql query omdat er meerdere insert into's zijn. Is het dan zo dat je niet meerdere insert intos in php kan doen maar wel in phpmyadmin? (wat volgens mij in php is gemaakt...)
 
Ger van Steenderen
Tutorial mod

Ger van Steenderen

01/09/2012 18:48:47
Quote Anchor link
Jij gebruikt mysql, en phpmyadmin gebruikt mysqli.
Wat betekent dat je geen meervoudige sql statements kunt uitvoeren
 
Php is mijn Voornaam

Php is mijn Voornaam

01/09/2012 18:54:17
Quote Anchor link
Ik zie het.

bij php.net staat:

mysql_query() sends a unique query (multiple queries are not supported) to the currently active database on the server that's associated with the specified link_identifier.

Bedankt! probleem opgelost. (niet echt) in iedergeval ik kan mysqli uitzoeken. Ik weet eindelijk waar het aan ligt.
 



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.