Gå til innhold

Error, insert query failed - why?


Anbefalte innlegg

Skrevet (endret)

Har startet med noen helt grunnleggende tutorials som jeg fant her: http://www.php-mysql-tutorial.com/mysql-insert-php.php

Men får opp feilmld - Error, insert query failed når jeg submiter.

 

Her kommer kodene:

 

config.php

<?php

$dbhost = 'localhost';

$dbuser = 'mittbrukernavn';

$dbpass = 'passord';

$dbname = 'xxxx_jobb';

?>

 

opendb.php

<?php

$conn = mysql_connect($dbhost, $dbuser, $dbpass) or die ('Error connecting to mysql');

mysql_select_db($dbname);

?>

 

adduser.php

<html>

<head>

<title>Add New MySQL User</title>

<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">

</head>

 

<body>

<?php

if(isset($_POST['add']))

{

include 'config.php';

include 'opendb.php';

 

$username = $_POST['username'];

$password = $_POST['password'];

 

$query = "INSERT INTO user (host, user, password, select_priv, insert_priv, update_ priv) VALUES ('localhost', '$username', PASSWORD('$password'), 'Y', 'Y', 'Y')";

mysql_query($query) or die('Error, insert query failed');  det er her feilen kommer

 

$query = "FLUSH PRIVILEGES";

mysql_query($query) or die('Error, insert query failed2');

 

include 'closedb.php';

echo "New MySQL user added";

}

else

{

?>

<form method="post">

<table width="400" border="0" cellspacing="1" cellpadding="2">

<tr>

<td width="100">Username</td>

<td><input name="username" type="text" id="username"></td>

</tr>

<tr>

<td width="100">Password</td>

<td><input name="password" type="text" id="password"></td>

</tr>

<tr>

<td width="100"> </td>

<td> </td>

</tr>

<tr>

<td width="100"> </td>

<td><input name="add" type="submit" id="add" value="Add New User"></td>

</tr>

</table>

</form>

<?php

}

?>

</body>

</html>

 

har prøvd akkurat samme tutorial før, og da hadde jeg ingen problemer, men det er så lenge siden at jeg har glemt det lille jeg lærte da:(

 

Selve siden kan dere se her: www.hv-guild.com/privat/ordre

 

Regner med det er noe helt basic som er feil? Håper noen med litt bedre kjennskap kan hjelpe.

 

Edit: har opprettet DB med navn xxxx_jobb og i den er det en table som heter contact som jeg liksom skal lagre i.

Endret av jvc1986
Videoannonse
Annonse
Skrevet

Bruk mysql_error().

Eks.

$query = "INSERT INTO contact (cname, cemail,) VALUES ('$username', '$password')";
mysql_query($query) or die('Error, insert query failed1' . mysql_error());  

$query = "FLUSH PRIVILEGES";
mysql_query($query) or die('Error, insert query failed2' . mysql_error());

Skrevet (endret)

Da dukket dette opp:

Error, insert query failed1You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near ') VALUES ('2', '6')' at line 1

 

Edit: Ser nå at verdiene inni VALUES ('x', 'x') er det samme som man skriver i tekstfeltene, altså de endres utifra hva man submitter.

Endret av jvc1986
Gjest Slettet+142
Skrevet (endret)

prøv med disse linjene da:

 

$query = "INSERT INTO user (`host`, `user`, `password`, `select_priv`, `insert_priv`, `update_ priv`) VALUES ('localhost', '{$username}', PASSWORD('{$password}'), 'Y', 'Y', 'Y')";
mysql_query($query) or die('Error, insert query failed; '.mysql_error());

Endret av Slettet+142
Skrevet

Takker, det skjedde iallefall en forandring:

Error, insert query failed; Unknown column 'update_ priv' in 'field list'

 

Men hvis det gjør ting enklere, jeg trenger kun å lagre 2 felt med informasjon i DB, ingen av delene er et passord slik tutorial beskriver.

 

Det jeg er på jakt etter egentlig er:

Helt enkelt en side som man kan skrive inn en verdi i tekstboks 1, og at dagens dato lagres i et eget felt i DB, sammen med verdi fra tekstboks 1, helst uten at man må skrive inn datoen selv.

 

Men samtidig har jeg lyst til å komme litt mer inn i php, tar gjerne imot tips til andre tutorials også, som omfatter php, mysql, forms.

 

Eller flere gode tips til hva som er feil med det jeg har:)

Skrevet

hehe, ordnet det nå - forenklet det litt:

$query = "INSERT INTO ordre VALUES ('{$username}', '{$password}')";

mysql_query($query) or die('Error, insert query failed; '.mysql_error());

Det var det jeg trengte, samt at jeg endret fieldene i DB fra varchar til text så virket det:)

Takker

Opprett en konto eller logg inn for å kommentere

Du må være et medlem for å kunne skrive en kommentar

Opprett konto

Det er enkelt å melde seg inn for å starte en ny konto!

Start en konto

Logg inn

Har du allerede en konto? Logg inn her.

Logg inn nå
  • Hvem er aktive   0 medlemmer

    • Ingen innloggede medlemmer aktive
×
×
  • Opprett ny...