0

我知道这是一个初学者的问题。我正在使用 html、php 和 mysql 开发血库数据库项目。作为管理员,我正在尝试向用户发送消息。首先,我试图查看具有用户名的用户是否存在于数据库中。如果他存在,我将用户名和消息插入名为 usermessages 的表中但是我无法插入数据。我收到消息“消息发送成功”,但实际上它没有在数据库中更新。所以这是我的代码,我可以保证数据库中没有拼写错误或在 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";
}

?>
4

2 回答 2

3

尝试执行查询

$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-31T05:54:51.273 回答
0

您的查询很好,但您还没有执行它。用于mysql_query执行您的查询。

其次请注意sql注入。你的代码在喊着来攻击我。

于 2013-05-31T06:04:14.753 回答