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

Try to execute the query

$mysql="INSERT INTO $tblname(username, messages)
VALUES ('$_POST[username]','$_POST[messages]')";
$return = mysql_query($my_sql);
echo "Message Sent Successfully";

You just forgotted to execute this insert query

And my advice is dont use mysql_* functions as they are depricated,use either mysqli_* functions or PDO Statements,and while you are playing with the post variables try to escape them like

mysql_real_escape_string($_POST['messages']);
于 2013-05-31T05:54:51.273 に答える
0

クエリは適切ですが、実行していません。mysql_queryクエリを実行するために使用します。

次に、 SQL インジェクションに注意してください。あなたのコードは、来て私をハックすることを叫んでいます。

于 2013-05-31T06:04:14.753 に答える