我試圖製作一個簡單的PHP系統,它接受用戶的登錄名,收件人名稱和消息內容並將其寫入SQL數據庫。即使在我發送消息並刷新頁面之後,我仍然沒有任何錯誤。但是沒有新的條目出現在我的SQL數據庫中(通過phpMyAdmin檢查)。順便說一下,所有這些代碼都在同一頁上。無法將變量寫入SQL數據庫
開始與一個HTML形式來收集數據:
<form name="login" action="" method="POST">
<p>Recipient: <input type="text" name="recipient"/></p>
<p>Message: <input type="text" name="contents"/></p>
<input type="Submit" Name="submit" value="Send"/>
</form>
然後我設置連接到SQL數據庫:
<?php
$link = mysqli_connect('host','username','password','database');
$sqlaction = 'INSERT INTO $userinbox (Sender, Message) VALUES ($email, $username)';
?>
然後進入該信息到數據庫中的功能:
<?php
session_start();
function message($link, $sqlaction)
{
$sender = $_SESSION['name'];
$recipient = strtolower($_POST['recipient']);
$contents = $_POST['contents'];
switch ($recipient) {
case 'person1':
$userinbox = 'person1';
$result = mysqli_query($link, $sqlaction);
echo 'Message sent.';
break;
case 'person2':
$userinbox = 'person2';
$result = mysqli_query($link, $sqlaction);
echo 'Message sent.';
break;
case 'person3':
$userinbox = 'person3';
$result = mysqli_query($link, $sqlaction);
echo 'Message sent.';
break;
case 'person4':
$userinbox = 'person4';
$result = mysqli_query($link, $sqlaction);
echo 'Message sent.';
break;
default:
echo 'Current valid users are list of users';
}
}
最後,我調用函數,傳遞數據庫連接變量Bles:
message($link, $sqlaction);
但就像我說的,數據庫中沒有任何內容出現。我已經花了4天的時間來嘗試調試,並且處於放棄的邊緣。任何幫助將不勝感激。
尖端的東西:你並不需要一個單獨的表中的每個用戶的收件箱。只需創建一個名爲收件箱的表格並添加字段user_id,owner_id或類似字段。然後,您可以使用存儲在同一個表中的所有內容獲取特定用戶收件箱的內容。原因是如果你得到10.000(100個真正的)用戶,你的分貝看起來就像現在一樣亂七八糟。 – JimL 2014-10-12 08:00:13