Hét vraag- en antwoordplatform van Nederland

Wat is hier fout aan? INSERT INTO counter('verhaal') VALUES($text)

Ik ben bezig met een textverwerker online, gewoon een doodsimpele en alleen voor mezelf. Nu wil ik dat de tekst naar de database wordt verzonden, maar daar zit een fout in...

De volledige code:

mysql_connect("localhost", "root" , "") or die ("error");
mysql_select_db("verhaal") or die ("error 2");

if (isset($_POST['verzend']));
$text = $_POST['word_count'];

if(isset($submit)){
$sql = "INSERT INTO counter('verhaal') VALUES($text)";
mysql_query($sql);
echo "Vezonden!";
}
else{
echo "Mislukt!";
}
?>

Database info:

Naam = verhaal
tabel = counter
kolom = verhaal

Toegevoegd na 38 minuten:
-------------
Werkende code:

mysql_connect("localhost", "root", "") or die ("error");
mysql_select_db("verhaal") or die ("error 2");

$submit = $_POST['submit'];

if(isset($submit)){
if($_POST['word_count'] == ''){
echo "Typ tekst!";
}
else {



$sql = "INSERT INTO counter(verhaal) VALUES('$_POST[word_count]')";
mysql_query($sql);
echo "Verzonden";
}
}
?>

Verwijderde gebruiker
13 jaar geleden
Geef jouw antwoord
0 / 2500
Geef Antwoord

Het beste antwoord

Ik gok dat je de aanhalingstekens verkeertesom hebt staan.

Probeer eens INSERT INTO counter (verhaal) VALUES ('$text');

(Vervang wel de aanhalingstekens als je het kopieert. Deze vervangt goeievraag automatisch.

Toegevoegd na 44 minuten:
Ik moet je er overigens wel op wijzen dat deze manier sql injectie gevoelig is. (http://nl.wikipedia.org/wiki/SQL-injectie)
Verwijderde gebruiker
13 jaar geleden

Andere antwoorden (1)

je kan beter gaan werken met classes en functies, houd je je code netjes en overzichtelijk, en als je dan toch bezig bent, is het misschien een idee om even te kijken naar het zend framework, dit maakt het het programmeren een stuk sneller, en efficienter.
mysql_connect("localhost", "root", "") or die (mysql_error());
mysql_select_db("verhaal") or die (mysql_error());

$submit = $_POST['submit'];

if ( isset ( $_POST['submit'] )){
if($_POST['word_count'] == '' ){
echo "Typ tekst!";
}else {
$sql = "
INSERT INTO counter
(verhaal)
VALUES ( '".$_POST[word_count]."') ";
mysql_query($sql) or die(mysql_error());
echo "Verzonden";
}
}


Fouten kan je vaak zelf al opsporen met de functie print_r

echo '
';
print_r ($string);
echo '
';


?>

Toegevoegd na 4 minuten:
type foutje
VALUES ( ’".$_POST['word_count']."’) ";
Verwijderde gebruiker
13 jaar geleden
Deel jouw antwoord
0 / 2500
Geef Antwoord
logo van Kompas Publishing

GoeieVraag.nl is onderdeel van Kompas Publishing