INSERT INTO of XAMPP probleem
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.
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
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 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?
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.
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.