我知道这是一个初学者的问题,.I正在用html,php和mysql做一个血库数据库项目。在这里,作为管理员,我尝试发送消息到users.At首先我尝试查看具有用户名的用户是否存在于他所在的database.if中我正在将用户名和消息插入到名为usermessages的表中,但我无法插入数据。我收到消息"message sent successfully",但实际上它没有在database.So中更新。这是我的代码,我可以保证在数据库或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";
}
?>发布于 2013-05-31 13:54:51
尝试执行查询
$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']);发布于 2013-05-31 14:04:15
您的查询是正确的,但您尚未执行它。使用mysql_query执行查询。
其次,请小心sql injection。你的代码是在喊来黑我。
https://stackoverflow.com/questions/16850564
复制相似问题