2016-05-23 7 views
1

Ich kann nicht für die Liebe Gottes herausfinden, warum diese Anweisung nicht ausgeführt wird. Als ich esMySQL INSERT-Anweisung nicht ausgeführt

begrenzen
mysql_query("INSERT INTO my_pets() VALUES()", $con); 

es feuert ganz gut, eine leere Zeile (NULL in jeder Zelle) zu schaffen, aber sobald ich es Spalten und Werte geben, verweigert es. Siehe unten.

Kann jemand auf einen Fehler oder einen anderen Grund hinweisen, dass dieser (scheinbar) korrekte Code nicht zündet, wenn Spalten und Werte angegeben werden?

Zimmer:

  • $ h, $ un, $ pw und $ db sind alle in Ordnung, wie ich sie von Dokumenten kopiert haben, wie wir arbeiten, sprechen.
  • Es gibt keine Tippfehler oder Fehler in Groß-/Kleinbuchstaben von Spaltennamen und so.

Der Code:

<?php 

session_start(); 

$h="...";  // Host name 
$un="...";  // Mysql username 
$pw="...";  // Mysql password 
$db="...";  // Database name 

$con = mysql_connect("$h", "$un", "$pw")or die("cannot connect"); 
mysql_select_db("$db")or die("cannot select DB"); 

$name = "Pip"; 
$gender = "F"; 
$species = "Dog"; 

mysql_query("INSERT INTO my_pets (name, gender, species) VALUES ('$name', '$gender', '$species')", $con); 

mysql_close($con); 

?> 
+0

Tabelle create statement? – Uueerdo

+0

Was ist die Tabellenstruktur? Was bedeutet * es ablehnt *? (Eine tatsächliche Fehlermeldung wäre besser). – ShiraNai7

+0

Tabelle besteht einfach aus Zeilen, die nur Varchar-Werte mit einem Grenzwert von 255 erwarten, und natürlich eine ID-Spalte (Primärschlüssel). – VHK

Antwort

1

von PHP Documentation Erhalten, wenn Sie PHP 7.0.0 verwendet wird, dann mysql_query nicht mehr Arbeit:

Warnung Diese Erweiterung wurde als veraltet in PHP 5.5.0, und es wurde in PHP 7.0.0 entfernt. Stattdessen sollte die Erweiterung MySQLi oder PDO_MySQL verwendet werden. Siehe auch MySQL: Wählen Sie einen API-Leitfaden und verwandte FAQ für weitere Informationen. Alternativen zu dieser Funktion sind: mysqli_query() PDO :: query()

Gut/Wichtiger Hinweis von jemandem, der sich interessiert: Diese Funktion ist nicht für alle künftigen Code verwendet werden sollte und für die bestehenden Code ersetzt werden, Daher würde ich Ihnen empfehlen, auf PDO umzusteigen.

+0

Ich stimme überhaupt nicht zu, aber es beantwortet nicht wirklich die Frage. –

+0

@ Don'tPanic Wenn er PHP 7.0.0 verwendet, würde er es aber beantworten. Dies könnte möglicherweise nicht der Grund sein, aber es ist möglich, dass es ist :) – Webeng

+0

Am Anfang der Frage, OP sagt, dass mysql_query funktioniert ohne Spalten und Werte. Das wäre nicht der Fall, wenn die Funktion nicht existierte. Obwohl ich denke, dass dies für einen zukünftigen Leser der Fall sein könnte. –