Blir inget i kolumnerna efter php insert.

Permalänk
Medlem

Blir inget i kolumnerna efter php insert.

Försöker lära mig php och sql, har skapat en databas jag kallar signup. I den finns det tabell som heter Persons och i den finns det tre kolumner som kallas "name" "email" och "country".

När jag har en form som samlar in text som ska skickas till databasen funkar allt bra.

<form action="phpverify.php" method="post"> <input class="Sign_pos" value="Name" type="text" name="name" /> <input class="Sign_pos" value="E-mail" type="text" name="email" /> <input class="Sign_pos" value="Country" type="text" name="country" /><br /> <input class="Sign_bpos" type="submit" value="Submit" /> </form>

Dold text

<?php $con = mysql_connect("","",""); if (!$con) { die('Could not connect to the database, try again later.'); } mysql_select_db("signup", $con); $sql="INSERT INTO Persons (name, email, country) VALUES ('$_POST[name]','$_POST[email]','$_POST[name]')"; if (!mysql_query($sql,$con)) { die('Could not insert data: ' . mysql_error()); } echo "Yiha"; mysql_close($con); ?>

Dold text

Allt läggs in i databasen enligt koden, men när jag går in i phpmyadmin så är det bara tomt i kolumnerna...

Visa signatur

"En dator"

Permalänk

Testa att ändra så det blir såhär:

<?php $con = mysql_connect("","",""); if (!$con) { die('Could not connect to the database, try again later.'); } mysql_select_db("signup", $con); $name = mysql_real_escape_string($_POST['name']); $email = mysql_real_escape_string($_POST['email']); $country = mysql_real_escape_string($_POST['country']); $sql="INSERT INTO Persons (name, email, country) VALUES ('$name', '$email', '$country')"; if (!mysql_query($sql,$con)) { die('Could not insert data: ' . mysql_error()); } echo "Yiha"; mysql_close($con); ?>

Permalänk
Medlem
Skrivet av EpicBlobfish:

Testa att ändra så det blir såhär:

<?php $con = mysql_connect("","",""); if (!$con) { die('Could not connect to the database, try again later.'); } mysql_select_db("signup", $con); $name = mysql_real_escape_string($_POST['name']); $email = mysql_real_escape_string($_POST['email']); $country = mysql_real_escape_string($_POST['country']); $sql="INSERT INTO Persons (name, email, country) VALUES ('$name', '$email', '$country')"; if (!mysql_query($sql,$con)) { die('Could not insert data: ' . mysql_error()); } echo "Yiha"; mysql_close($con); ?>

Nä blir likadant, vet inte om det beror på

Visa signatur

"En dator"

Permalänk
Medlem
Skrivet av ohoy:

Nä blir likadant, vet inte om det beror på

http://img232.imageshack.us/img232/3845/48872519.png

Blir det ingenting alls i databasen? Inte ens en tom rad utan värden i?

Testa att ändra sql-variabeln till

$sql="INSERT INTO `Persons` (`name`, `email`, `country`) VALUES ('$name', '$email', '$country')";

Visa signatur

- Åldern har tagit ut sig i form av bekvämlighet -
------- Playstation 4/5 - Nintendo Switch -------

Permalänk
Medlem

Pröva ->

$sql = "INSERT INTO Persons SET name='{$name}', email='{$email}', country='{$country}'";

Visa signatur

citera gärna så jag hittar tillbaka!