2016-06-10 104 views
-3

我想插入2個變量到我的數據庫。 PHP是這樣的:
mySQL插入查詢

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

然而,當我嘗試運行它,就像這樣:

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

它不添加到數據庫中,我得到這個錯誤:
mysqli_query()預計參數1是mysqli,null是在index.php中給出的第56行。
順便說一句我的連接工作正常,與其無關,但是在這裏它是反正

$connection = new mysqli(DB_HOST,DB_USER,DB_PASS,DB_NAME); 
if(mysqli_connect_errno()) { 
    exit('Database connection failed: ' . mysqli_connect_error()); 
} 
+1

分享您的$連接? – C2486

+0

您的連接對象似乎爲空。 – KRONWALLED

+0

使用參數而不是將值填充到查詢中。不僅是將字符串中的值設置爲危險(SQL注入),還會導致意外的語法錯誤。 –

回答

2

打開一個數據庫連接和查詢它使用下面的代碼:

$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

我不確定您是否已正確設置連接。 隨着你越來越 - 「mysqli_query()期望參數1爲mysqli,null在第56行的index.php中給出。」並且此函數的第一個參數必須是連接變量。

請參閱遵循

<?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

您創建一個連接對象,並使用過程風格

使用$connection->query($sql);