Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
为什么这个PHP脚本不向mysql提交表单数据?_Php_Html_Xhtml - Fatal编程技术网

为什么这个PHP脚本不向mysql提交表单数据?

为什么这个PHP脚本不向mysql提交表单数据?,php,html,xhtml,Php,Html,Xhtml,这个脚本应该获取文本区域的内容并将其提交给mysql,但是没有人知道为什么吗 if ($_SERVER["REQUEST_METHOD"] == "POST") { $error = ''; $like = mysql_real_escape_string($_POST['like_box']); mysql_query("INSERT INTO likes (like) VALUES ($like)"); $id = mysql_query("SELECT id FROM lik

这个脚本应该获取文本区域的内容并将其提交给mysql,但是没有人知道为什么吗

    if ($_SERVER["REQUEST_METHOD"] == "POST") 
{
$error = '';
$like = mysql_real_escape_string($_POST['like_box']);

mysql_query("INSERT INTO likes (like) VALUES ($like)");

$id = mysql_query("SELECT id FROM likes WHERE like=$like");
header('Location:like.php?id='.$id.'');
}?>



<form method="post" action="post.php">
                <textarea name="like_box" id="like_box" style="border-style: none; border-color: inherit; border-width: 0; width: 458px; height: 65px" class="style11120"></textarea>

            <tr>
                <td style="height: 53px">
                <div class="style11116" style="width: 417px">
                    <input name="Submit" type="submit" value="submit" />
                    </form>
if($\u服务器[“请求\u方法”]=“发布”)
{
$error='';
$like=mysql\u real\u escape\u字符串($\u POST['like\u box']);
mysql_查询(“插入like(like)值($like)”;
$id=mysql_查询(“从like中选择id,其中like=$like”);
标题('Location:like.php?id='.$id.');
}?>

如果有一些错误报告,则会告诉您需要在
$like
中使用“around”,并且您需要在columns部分中使用“around like”,因为,在insert中

mysql_query("INSERT INTO likes (`like`) VALUES ('$like')") or trigger_error('Query Error: ' . mysql_error());
应该有用


此外,您还需要在`中附上类似的内容,以便选择:

$id = mysql_query("SELECT id FROM likes WHERE `like`=$like") or trigger_error('Query Failed: ' . mysql_error());

有一些错误报告会告诉您,您需要在
$like
中使用'around',并且在columns部分中需要'around like',因为,在insert中

mysql_query("INSERT INTO likes (`like`) VALUES ('$like')") or trigger_error('Query Error: ' . mysql_error());
应该有用


此外,您还需要在`中附上类似的内容,以便选择:

$id = mysql_query("SELECT id FROM likes WHERE `like`=$like") or trigger_error('Query Failed: ' . mysql_error());

您的第一个SQL查询是错误的。在SQL中,必须用引号将字符串值括起来:

mysql_query("INSERT INTO likes (`like`) VALUES ('$like')");
PHP部分的其余部分也不会像您希望的那样执行$id将是结果集,而不是值。您必须按如下方式获取行:

$result = mysql_query("SELECT id FROM likes WHERE `like`='$like'");
$row = mysql_fetch_assoc($result);
$id = $row['id'];
或者更好,只需将第二个SQL查询替换为调用:


还有更多改进的可能性:

  • 完成
    标题('Location:…')后,不要忘记调用
    exit
    调用,否则您可能会得到意外的结果,因为脚本将继续运行
  • 添加一些插入的错误处理。至少用if语句检查它是否成功

您的第一个SQL查询是错误的。在SQL中,必须用引号将字符串值括起来:

mysql_query("INSERT INTO likes (`like`) VALUES ('$like')");
PHP部分的其余部分也不会像您希望的那样执行$id将是结果集,而不是值。您必须按如下方式获取行:

$result = mysql_query("SELECT id FROM likes WHERE `like`='$like'");
$row = mysql_fetch_assoc($result);
$id = $row['id'];
或者更好,只需将第二个SQL查询替换为调用:


还有更多改进的可能性:

  • 完成
    标题('Location:…')后,不要忘记调用
    exit
    调用,否则您可能会得到意外的结果,因为脚本将继续运行
  • 添加一些插入的错误处理。至少用if语句检查它是否成功

您是否尝试过调试post.php文件中的
echo$\u post['like\u box'];模具()在那里工作吗?在脚本中,您是否连接到数据库并选择了它?您是否尝试过调试,在post.php文件中,写入
echo$\u post['like_box'];模具()在那里工作吗?在脚本中,您是否连接到数据库并选择它?