INSERT INTO of XAMPP probleem
Hallo Allen,
Ik ben al de hele dag aan de gang om een simpele script aan de gang te krijgen. In eerste instantie had ik veel meer code, maar toen ik merkte dat het niet werkte ben ik weer terug naar de basic gegaan.
Ik krijg het bericht "Cantinsert". Hoe kan dit? Wat moet ik doen om toch de gegevens in mijn database test te krijgen?
Ik ben al de hele dag aan de gang om een simpele script aan de gang te krijgen. In eerste instantie had ik veel meer code, maar toen ik merkte dat het niet werkte ben ik weer terug naar de basic gegaan.
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
2
3
4
5
6
7
8
9
10
11
12
13
<?php
error_reporting(E_ALL);
ini_set('display_errors', 'true');
$db = mysql_connect('localhost','root','')
or die ("Cant connect..." . mysql_error());
if (mysql_select_db("database", $db)) {
$naam = 'sven';
mysql_query ("INSERT INTO test ('naam') VALUES ($naam)") or die ("Cant insert");
} else {
echo "couldn't select db";
}?>
error_reporting(E_ALL);
ini_set('display_errors', 'true');
$db = mysql_connect('localhost','root','')
or die ("Cant connect..." . mysql_error());
if (mysql_select_db("database", $db)) {
$naam = 'sven';
mysql_query ("INSERT INTO test ('naam') VALUES ($naam)") or die ("Cant insert");
} else {
echo "couldn't select db";
}?>
Ik krijg het bericht "Cantinsert". Hoe kan dit? Wat moet ik doen om toch de gegevens in mijn database test te krijgen?
Gewijzigd op 07/07/2011 21:38:16 door Sven b
mysql_errno(), mysql_error() in je DIE zetten.
Deze manier van INSERT INTO heb ik altijd gebruikt en sinds ik op xampp ben overgegaan doet deze het niet meer. Voorheen gebruikte ik mijn domein, maar dit was te omslachtig met uploaden en dergelijke. Het kan ook zijn dat ik iets veranderd heb zonder dat ik het door heb gehad.
Graag tips ?!
Hartelijk dank!
MvG. Sven
Graag tips ?!
Hartelijk dank!
MvG. Sven
Zie Serge' reactie, en houd je $naam variabele buiten quotes.
probeer eens manueel een insert via PHPMyadmin of zoiets
Hartelijk dank! Ik heb beide errors geprobeerd, want ik kreeg ze niet beide tegelijk er in dus heb ze apart geprobeerd.
Ik krijg de volgende error:
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 ''naam') VALUES (sven)' at line 1
Toch is het mij dan niet geheel duidelijk wat ik moet veranderen. Kan iemand mij helpen? Naar mijn idee heb ik dit altijd zo gedaan en snap ik niet wat ik fout doe.
Toevoeging op 07/07/2011 21:53:54:
Aar,
je bedoelt
$naam = 'sven';?
Ik krijg de volgende error:
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 ''naam') VALUES (sven)' at line 1
Toch is het mij dan niet geheel duidelijk wat ik moet veranderen. Kan iemand mij helpen? Naar mijn idee heb ik dit altijd zo gedaan en snap ik niet wat ik fout doe.
Toevoeging op 07/07/2011 21:53:54:
Aar,
je bedoelt
$naam = 'sven';?
Het kan niet zijn dat dat insert statement het ooit gedaan heeft!!
Het quoten - op welke manier dan ook - van database, tabel en velden si uit den boze!
Pas ook eens fatsoenlijke foutafhandeling toe, en dat is niet met or die().
Het quoten - op welke manier dan ook - van database, tabel en velden si uit den boze!
Pas ook eens fatsoenlijke foutafhandeling toe, en dat is niet met or die().
hoe ziet je tabel eruit?
Noppes Homeland, suggereer je dit dan?
mysql_query (INSERT INTO test (naam) VALUES ($naam)) or die (mysql_error());
Sergie,
db naam = test
id- primary en auto increment
naam - varchar 255
mysql_query (INSERT INTO test (naam) VALUES ($naam)) or die (mysql_error());
Sergie,
db naam = test
id- primary en auto increment
naam - varchar 255
Sven b op 07/07/2011 21:53:00:
$naam = 'sven';?
nee $naam, in je query. Die moet tussen quotes.
$naam = 'sven';
mysql_query ("INSERT INTO test ('naam') VALUES ('$naam')") or die (mysql_error());
Oke, dat heb ik gedaan, maar krijg de zelfde foutmelding.
mysql_query ("INSERT INTO test ('naam') VALUES ('$naam')") or die (mysql_error());
Oke, dat heb ik gedaan, maar krijg de zelfde foutmelding.
naam zonder en $naam met...
Code (php)
1
2
3
4
5
6
7
2
3
4
5
6
7
<?php
$sql = "INSERT INTO test
(naam) // geen quotes
VALUES
('" . $naam . "') // quotes EN buiten de quotes
";
?>
$sql = "INSERT INTO test
(naam) // geen quotes
VALUES
('" . $naam . "') // quotes EN buiten de quotes
";
?>
Gewijzigd op 07/07/2011 22:24:22 door - SanThe -
mysql_query ("INSERT INTO test (naam) VALUES ('$naam')") or die (mysql_error());
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?php
$con = mysql_connect("localhost","root","");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("database", $con);
$naam = 'sven';
$sql="INSERT INTO test (naam) VALUES ('$naam')";
if (!mysql_query($sql,$con))
{
die('Error: ' . mysql_error());
}
echo "1 record added";
mysql_close($con)
?>
$con = mysql_connect("localhost","root","");
if (!$con)
{
die('Could not connect: ' . mysql_error());
}
mysql_select_db("database", $con);
$naam = 'sven';
$sql="INSERT INTO test (naam) VALUES ('$naam')";
if (!mysql_query($sql,$con))
{
die('Error: ' . mysql_error());
}
echo "1 record added";
mysql_close($con)
?>
Oke, ik heb een werkende script gevonden. Deze ga ik dan naar mijn eigen code vertalen. Hij werkt volledig, maar snap nog niet echt wat ik fout doe, omdat ik dit voorheen ook zo deedt.
Bedankt iig. Overige feedback ontvang ik graag
en nu die DIE's eruit
Serge Girard op 07/07/2011 22:25:47:
en nu die DIE's eruit
En $vars buiten de quotes houden.
ja, die ook
Thanks. Ik ga er morgen verder aan werken. Nog een goed artikel dat ik moet lezen omtrent dit onderwerp of andere onderwerpen? Ik zag al een artikel foutafhandeling voorbij komen.




