似乎无法实现这一点。有人能给我指一个正确的方向,并举例说明如何做到这一点吗。非常感谢。我需要这个网址domain.com/script.php?从=1123&消息=123454
把丝绒插入我的桌子
<?php
mysql_connect('localhost', 'user', 'pass');
mysql_select_db('dbname');
$sql = "insert into table (from, message) values ('".$_GET['from']."','".$_GET['message']."')";
if(!$sql){
echo "Error " . mysql_error(); }
else{ echo "Success"; }
?>
尝试添加
mysql_query($sql);
因此,在您创建字符串
您从来没有调用mysql_query()来实际执行查询。
<?php
mysql_connect('localhost', 'user', 'pass');
mysql_select_db('dbname');
$from = mysql_real_escape_string($_GET['from']);
$message = mysql_real_escape_string($_GET['message']);
// TODO: check that $from and $message are not empty and are valid
$sql = "insert into table (from, message) values ('$from','$message')";
$result = mysql_query($sql); // This actually executes the query on the server
if(!$result) {
echo "Error " . mysql_error();
} else {
echo "Success";
}
对mysql_real_eescape_string的调用也非常重要。如果没有它,您很容易受到SQL注入的攻击。
此外,不赞成使用mysql_*
函数。您应该切换到Mysqli或PDO_Mysql。
首先必须检查变量是否已设置。
if(isset($_GET['from'],$_GET['message'])){
$con = mysql_connect('localhost', 'user', 'pass');
mysql_select_db('dbname',$con);
$from = mysql_real_escape_string($_GET['from']);
$message = mysql_real_escape_string($_GET['message']);
// TODO: check that $from and $message are not empty and are valid
$sql = "insert into table (from, message) values ('$from','$message')";
$result = mysql_query($sql);
if(!$result) { echo "Error " . mysql_error(); }
else {
echo "Success";
mysql_close($con);
}
}else{die();}