Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/257.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/70.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_Mysql_Database_Forms_Sql Update - Fatal编程技术网

使用PHP表单将数据更新到MySql数据库

使用PHP表单将数据更新到MySql数据库,php,mysql,database,forms,sql-update,Php,Mysql,Database,Forms,Sql Update,我希望有人能帮助我。我正在尝试使用带有文本区域的PHP表单将数据更新到MySql数据库中。 只要我用一个随机字符串(在页面开头定义)更新数据库,它就可以正常工作。但是,当我尝试使用从表单收到的$_POST['text']更新数据库时,数据库中的值不会更新 我真的不知道是什么问题,所以我希望有人能帮助我使这项工作。如果我的问题不够清楚,请告诉我 test.php <html> <head> <script type="text/javascript" src=".

我希望有人能帮助我。我正在尝试使用带有文本区域的PHP表单将数据更新到MySql数据库中。 只要我用一个随机字符串(在页面开头定义)更新数据库,它就可以正常工作。但是,当我尝试使用从表单收到的$_POST['text']更新数据库时,数据库中的值不会更新

我真的不知道是什么问题,所以我希望有人能帮助我使这项工作。如果我的问题不够清楚,请告诉我

test.php

<html>
<head>
  <script type="text/javascript" src="./js/tinymce/tinymce.min.js"></script>
  <script type="text/javascript">
    tinymce.init({
      selector: "textarea",
      plugins : 'advlist autolink autoresize autosave link image lists charmap media paste preview spellchecker',
      image_advtab: true
    });
  </script>
</head> 

<body>
  <?php
    $con=mysqli_connect("example.com","test","abc123","my_db");
    // Check connection
    if (mysqli_connect_errno())
    {
      echo "Failed to connect to MySQL: " . mysqli_connect_error();
    }                                  

    $result = mysqli_query($con,"SELECT content FROM page_content WHERE page = 'Zangpedagoog'");

    while($row = mysqli_fetch_array($result))
    {
      $text=$row['content'] ;
    }    
  ?>

  <form method="post" action="./send.php">
    <textarea name="text" width="100%">
    <?php echo $text ?>
    </textarea>
    <input id="submit" name="submit" type="submit" value="Send"></form></body></html>

tinymce.init({
选择器:“文本区域”,
插件:“advlist autolink autoresize autosave link image lists charmap媒体粘贴预览拼写检查器”,
图像\u advtab:真
});
我猜是在这里:

mysql_query("UPDATE page_content SET content=$update WHERE page='Zangpedagoog'",$con);
您正在将$update直接放入字符串中。 这是非常危险和愚蠢的,但那不是你来的目的。 我想,真正导致错误的原因是缺少大约$update。 现在,get值直接放入查询中,而不是作为字符串,我认为这是您想要的。 请记住,这对SQL注入非常开放! 固定代码:

mysql_query("UPDATE page_content SET content='$update' WHERE page='Zangpedagoog'",$con);

首先你使用的是
mysqli\u查询
,然后你使用的是
mysql\u查询
试着坚持使用“一”,
mysqli\u
更好,原因很多。mysql\u*不受欢迎,改用mysqli或pdo。您还需要明确查看准备好的语句,您的代码很容易受到SQL注入攻击,因此请使用以下方法:尝试在文本区域中添加分号,如
谢谢您的回答,它很有效!我知道它是开放的SQL注入,我只是尝试了一些东西,但谢谢你提醒我!
mysql_query("UPDATE page_content SET content='$update' WHERE page='Zangpedagoog'",$con);