php mysqli_query不执行任何一个echo都在url中显示

时间:2016-02-09 15:30:21

标签: php

我在php中不是那么好,但是在我更改thr主机名之前,下面的代码工作正常。当我加载url时,回显没有显示,插件也没有被执行。

$con = mysqli_connect($host,$uname,$pwd,$db);
echo 'hi'
$description= $_GET['description'];
$categorie= $_GET['categorie'];
$image=$_POST['image'];
$imagename = uniqid("uploaded_images").".png";
$imageurl="http://justedhak.com/".$imagename;

     $binary=base64_decode($image);
    header('Content-Type: bitmap; charset=utf-8');
    $file = fopen($imagename, 'wb');
    fwrite($file, $binary);
    fclose($file);

$sql="INSERT INTO OBJECTS( NAME, TYOE, URL, CATEGORY, USERS_ID, HIDE_YN ) 
VALUES ('$imagename',  'IMAGE',  '$imageurl',  'CATEG' , 1,  'N')";

 if(mysqli_query($con,$sql)){
echo $sql
}
else{
echo 'failure';
  }
mysqli_close($con);

错误

  

警告:mysqli_connect():( 28000/1045):拒绝用户访问   ' je_user' @' ip-160-153-162-16.ip.secureserver.net' (使用密码:   是)在第7行的/home/justdb/public_html/upload_image.php中

     

注意:未定义索引:描述中   第9行/home/justdb/public_html/upload_image.php

     

注意:未定义的索引:类别   第10行/home/justdb/public_html/upload_image.php

     

注意:未定义索引:图像输入   第11行/home/justdb/public_html/upload_image.php

     

警告:无法修改标头信息 - 已发送的标头   (输出从/home/justdb/public_html/upload_image.php:6开始)   第16行/home/justdb/public_html/upload_image.php

     

警告:mysqli_query()期望参数1为mysqli,boolean   在第24行的/home/justdb/public_html/upload_image.php中给出

     

警告:mysqli_close()期望参数1为mysqli,boolean   在第30行的/home/justdb/public_html/upload_image.php中给出

2 个答案:

答案 0 :(得分:2)

前言:

已经确定您已为echo 'hi'echo $sql添加了缺失的分号,因此我无需重复它。

查看所有这些未定义的索引通知,这可能意味着您的表单方法可能与您的GET / POST阵列不同,这是您未在原始问题中包含的内容;这些可能是可能的原因。

或者,您在同一个文件中同时使用HTML和PHP,并且就是这种情况,您的HTML表单可能位于PHP之上,反过来抛出标题已发送通知,您需要使用{ <1}}或isset()针对您的GET / POST阵列。

标题之前不应该有任何输出,这也可能是由cookie,empty()开始标记之前的空格或文件的编码引起的;也可以是字节顺序标记。

以下是一些与您遇到的问题直接相关的链接。

另外,已经注意到您的代码对SQL注入是开放的。

参考文献:

答案 1 :(得分:1)

您在;echo hi

的末尾错过了echo $sql