Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/259.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/0/performance/5.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 文本未提交到数据库_Php_Mysql_Forms - Fatal编程技术网

Php 文本未提交到数据库

Php 文本未提交到数据库,php,mysql,forms,Php,Mysql,Forms,我有一个简单的脚本问题,它似乎只发生在插入数据库 不过,我有一个表单,可以将图像上传到服务器,并将上传文件名放入数据库。如果使用了撇号,或者UTF8格式的引号会被抛出,并且数据不会被提交 我尝试过使用mysql\u real\u escape\u string和addslashes,但效果相同,或者没有将输入的任何信息发布到数据库中 这是表单数据(为了节省这篇文章的空间,我去掉了HTML编码) 编辑-这更好吗 $target = "../../../images/matchreports/upl

我有一个简单的脚本问题,它似乎只发生在插入数据库

不过,我有一个表单,可以将图像上传到服务器,并将上传文件名放入数据库。如果使用了撇号,或者UTF8格式的引号会被抛出,并且数据不会被提交

我尝试过使用mysql\u real\u escape\u string和addslashes,但效果相同,或者没有将输入的任何信息发布到数据库中

这是表单数据(为了节省这篇文章的空间,我去掉了HTML编码)

编辑-这更好吗

$target = "../../../images/matchreports/uploaded/";
    $target = $target . time() . '-' . basename( $_FILES['image']['name']);
    if(move_uploaded_file($_FILES['image']['tmp_name'], $target)){
    $image=time() . '-' . basename( $_FILES['image']['name']);      
    $newdate = $_POST['date_y'].''.$_POST['date_m'].''.$_POST['date_d'];
$SQL = "INSERT INTO " . $match_reports_table . " (Title,ShortTitle,Story,FrontPage,active,image,date,user_ip) VALUES('" . addslashes($_REQUEST['Title']) . "','" . addslashes($_REQUEST['ShortTitle']) . "','" . addslashes($_REQUEST['Story']) . "','" . addslashes($_REQUEST['FrontPage']) . "','" . addslashes(y) . "','$image','$newdate','" . addslashes($_SERVER['REMOTE_ADDR']) . "')";
    $result = @mysql_query($SQL) or die("Error Publishing 1");

正如评论中所指出的,圣洁的蝙蝠侠。不管怎样,您需要做的是重新创建问题,并回显正在生成并传递给mysql的SQL,然后查看它的外观。它显然存在语法错误,如果打印出查询,您可能会看到它

编辑:

更改此项:

mysql_query("INSERT INTO " . $match_reports_table . " (Title,ShortTitle,Story,Category,FrontPage,active,image,date,user_ip)VALUES ('$Title', '$ShortTitle', '$Story', '$Category', '$FrontPage', 'n', '$image', '$newdate', '" . addslashes($_SERVER['REMOTE_ADDR']) . "')") ;
为此:

$sql="INSERT INTO " . $match_reports_table . " (Title,ShortTitle,Story,Category,FrontPage,active,image,date,user_ip)VALUES ('$Title', '$ShortTitle', '$Story', '$Category', '$FrontPage', 'n', '$image', '$newdate', '" . addslashes($_SERVER['REMOTE_ADDR']) . "')";
mysql_query($sql) ;
echo $sql;

*等待有人尖叫“SQL注入”*我本来打算这么做的,但后来我看到了你的评论。谢谢,我会尝试一下。关于SQL注入?这仍然存在风险吗?@outerhaven Ya,肯定是的,做一些谷歌搜索或者看看,关于它是什么以及如何预防它有很多信息。@Outer:关于SQL注入,请看这个:@outerhaven它没有走那么远,对所有SQL语句都做同样的操作。还要确保在php中打开了错误报告功能,这可能也会提供一些线索。也许可以查阅一些关于调试php脚本的教程。谢谢。我想我会从头开始,从头开始构建,而不会有SQL注入的风险。
mysql_query("INSERT INTO " . $match_reports_table . " (Title,ShortTitle,Story,Category,FrontPage,active,image,date,user_ip)VALUES ('$Title', '$ShortTitle', '$Story', '$Category', '$FrontPage', 'n', '$image', '$newdate', '" . addslashes($_SERVER['REMOTE_ADDR']) . "')") ;
$sql="INSERT INTO " . $match_reports_table . " (Title,ShortTitle,Story,Category,FrontPage,active,image,date,user_ip)VALUES ('$Title', '$ShortTitle', '$Story', '$Category', '$FrontPage', 'n', '$image', '$newdate', '" . addslashes($_SERVER['REMOTE_ADDR']) . "')";
mysql_query($sql) ;
echo $sql;