2016-06-10 17 views
-3

Ich versuche, 2 Variablen in meine Datenbank einzufügen. PHP sieht wie folgt aus:
mySQL INSERT in Abfrage

$sql = "INSERT INTO `database`.`table` 
     (`field1`, 
     `field2`) 
     VALUES ('".$field1."','".$field2."') "; 

Allerdings, wenn ich versuche, es zu laufen, etwa so:

if (mysqli_query($connection, $sql)) { 
     echo "New record created successfully"; 
} 

Es in die Datenbank tut, und ich bekomme diese Fehlermeldung:
mysqli_query() erwartet Parameter 1 zu sein mysqli, Null in index.php in Zeile 56 gegeben.
BTW meine Verbindung funktioniert gut, es ist nicht damit zu tun, aber hier ist es sowieso

+1

teilen Sie Ihre $ Verbindung? – C2486

+0

Ihr Verbindungsobjekt scheint null zu sein. – KRONWALLED

+0

Verwenden Sie Parameter, anstatt die Werte in die Abfrage einzufügen. Die Werte in der Zeichenfolge werden nicht nur gefährlich (SQL-Injektion), sondern es kann auch zu unerwarteten Syntaxfehlern führen. –

Antwort

2

Um eine DB-Verbindung zu öffnen und abfragen es den folgenden Code verwenden:

$servername = "localhost"; 
$username = "username"; 
$password = "password"; 

// Create connection 
$conn = new mysqli($servername, $username, $password); 

// Check connection 
if ($conn->connect_error) { 
    die("Connection failed: " . $conn->connect_error); 
} 
echo "Connected successfully"; 

$sql = "INSERT INTO `database`.`table` (`field1`, `field2`) VALUES ('".$field1."', '".$field2."')"; 

// Perform queries 
mysqli_query($con,$sql); 
mysqli_close($con); 
0

Ich bin mir nicht sicher, ob Sie die Verbindung richtig eingestellt haben. Wie Sie bekommen - "mysqli_query() erwartet Parameter 1 zu mysqli, Null in index.php in Zeile 56 gegeben." und Ihr erster Parameter für diese Funktion muss die Verbindungsvariable sein.

Bitte beachten Sie die folgen

<?php 
$con=mysqli_connect("localhost","my_user","my_password","my_db"); 

// Check connection 
if (mysqli_connect_errno()) 
    { 
    echo "Failed to connect to MySQL: " . mysqli_connect_error(); 
    } 
$sql = "INSERT INTO `database`.`table` (`field1`, `field2`) VALUES ('".$field1."', '".$field2."')"; 
// Perform queries 
mysqli_query($con,$sql); 
mysqli_close($con); 
?> 
0

Sie ein Verbindungsobjekt zu erstellen, und werden mit einem prozeduralen Stil

Verwenden Sie $connection->query($sql);