2015-02-23 45 views
-2

我有一個非常簡單的代碼插入數據到數據庫。 它不起作用。除了無法插入外,我不會收到任何錯誤。我可以連接到數據庫,所以這不是問題。簡單的插入數據庫不起作用

數據庫有3個字段,emailadd是第2字段。另外兩個是自動增量編號和創建日期,所以在添加時也會添加當前時間戳。

$inquiry = "INSERT INTO subscribe (emailadd) VALUES ('$myemail')"; 
$res = mysql_query($inquiry) or die("cannot insert"); 
+1

'echo $ inquiry;' – Strawberry 2015-02-23 15:47:13

+2

'mysql_query'已棄用。你應該使用'mysqli'。檢查[這裏](http://codular.com/php-mysqli)一個簡單的教程(然後你最終還會得到一個實際的錯誤信息)。 – treegarden 2015-02-23 15:48:25

+1

你沒有得到錯誤,因爲你實際上沒有使用正確的方法。使用'或者死(mysql_error())'到'mysql_query()'而不是回顯「無法插入」。還要確保你沒有在其他地方混合MySQL API,比如連接到你的數據庫。那是我們所不知道的。一定要使用錯誤報告http://php.net/manual/en/function.error-reporting.php - 你現在有足夠的代碼來調試你的代碼。 *「不起作用」*沒有太大的繼續,也沒有明確的理由。 – 2015-02-23 15:57:05

回答

0
$inquiry = "INSERT INTO `subscribe` (`emailadd`) VALUES ('$myemail')"; 
$res = mysql_query($inquiry,$con) or die('Not Inserted : ' . mysql_error()); 

有些時候我們需要$ CON變量來標識數據庫連接,讓看多檢查here

+0

謝謝我現在看到我的錯誤是我沒有權限插入 – minjiera 2015-02-23 16:13:34

+0

現在的問題是...我如何添加插入權限?我使用的帳戶是唯一的帳戶,我認爲... – minjiera 2015-02-23 16:14:01

+0

@minjiera *「謝謝我現在看到我的錯誤是,我沒有權限插入」* - 這顯然不回答真正的問題是權限,並且不應該被接受;這是一個錯誤。你應該做的是用你得到的結果更新你的問題,然後只有其他人可以回答這個問題才能真正解決問題。 – 2015-02-23 16:30:32

0

請求mysql_query已過時,您需要使用庫MySQLi像這樣:

<?php 
$servername = "localhost"; 
$username = "username"; 
$password = "password"; 
$dbname = "myDB"; 

//創建連接

$conn = new mysqli($servername, $username, $password, $dbname); 
// Check connection 
if ($conn->connect_error) { 
    die("Connection failed: " . $conn->connect_error); 
} 

$ sql =「UPDATE MyGuests SET lastname ='Doe'WHERE id = 2」;

if ($conn->query($sql) === TRUE) { 
    echo "Record updated successfully"; 
} else { 
    echo "Error updating record: " . $conn->error; 
} 

$conn->close(); 

?>