我知道这是一个初学者的问题。我正在使用html,php和mysql进行血库数据库项目。在这里作为管理员,我正在尝试向用户发送消息。首先,我试图查看用户名是否存在于数据库中。如果他在场,我将用户名和消息插入名为usermessages的表中但是我无法插入data.i我收到消息“消息发送成功”,但实际上它没有在数据库中更新。所以这是我的代码,我可以保证所有数据库中没有拼写错误或者在phpcode中。
<?php
session_start();
$host="localhost"; // Host name
$username="root"; // Mysql username
$password=""; // Mysql password
$db_name="bloodbank"; // Database name
$tbl_name="users"; // Table name
$tblname="usermessages";
// Connect to server and select databse.
mysql_connect("$host", "$username", "$password")or die("cannot connect");
mysql_select_db("$db_name")or die("cannot select DB");
// username and messages is sent from form
$username=$_POST['username'];
$sql="SELECT * FROM $tbl_name WHERE username='$username'";
$result=mysql_query($sql);
// Mysql_num_row is counting table row
$count=mysql_num_rows($result);
if($count==1)
{
$mysql="INSERT INTO tblname(username, messages)
VALUES
('$_POST[username]','$_POST[messages]')";
echo "Message Sent Successfully";
}
else
{
echo "No user with that username found in the database";
}
?>
答案 0 :(得分:2)
尝试执行查询
$mysql="INSERT INTO $tblname(username, messages)
VALUES ('$_POST[username]','$_POST[messages]')";
$return = mysql_query($my_sql);
echo "Message Sent Successfully";
您刚忘记执行此插入查询
我的建议是不要使用mysql_ *函数,因为它们被删除,使用mysqli_ *函数或PDO语句,当你正在使用post变量时尝试逃避它们
mysql_real_escape_string($_POST['messages']);
答案 1 :(得分:0)
您的查询很好,但您还没有执行。使用mysql_query
执行查询。
第二,请注意sql injection。你的代码大喊大叫来攻击我。