用php7警告MySQLi

时间:2016-05-18 19:16:24

标签: php ubuntu mysqli

我在新的Ubuntu服务器上从php7收到以下错误:

  


  注意:尝试在 <> b 中获取非对象的属性   
  警告:mysqli :: query():无法在行 17 〜/ tLogServ.php 中获取mysqli   
  致命错误:未捕获错误:在〜/ tLogServ.php中调用null上的成员函数fetch_assoc():18   堆栈跟踪:

     在 18 > 〜/ tLogServ.php 中抛出

0 {main}

这里是tLogServ.php

    <?php
    header("Access-Control-Allow-Origin: *");
    header("Content-Type: application/json; charset=UTF-8");
    $request = json_decode( file_get_contents('php://input') );
    $variable = $request->data;
     // echo($variable);
     $result = $conn->query("SELECT password FROM login where userID LIKE          'technician'");
   $rows = $result->fetch_assoc();
   $passHashed = $rows['password'];

   if(password_verify($variable, $passHashed)){
    $loginMess = "success";
   }else{
    $loginMess = "fail";
   }

   echo json_encode($loginMess);

   $conn->close();
  ?>

和我的连接脚本

<?php
DEFINE ('user', '$%^*(');
DEFINE ('pass', '^*&%*');
DEFINE ('host', '1*&^*&^');
DEFINE ('DB', '^*%*(&%^');
$conn = new mysqli(host, user, pass, DB) OR die('Fail Whale ' . mysqli_connect_error());

?>

通知会随着输入而消失,但我不确定警告及其引起的致命错误。

此代码在带有PHP5的Ubuntu 14上没有问题。我没有注释 延长= php_mysqli.dll 在php.ini中。这显然是一个兼容性问题,但我不确定是否需要重新编写代码,或者它是否是一个我无法找到的简单设置问题。

1 个答案:

答案 0 :(得分:0)

这个问题是两个愚蠢的错误。

1)我在连接中引用的用户没有获得适当的权利。

2)'Host'被定义为localhost的IP。无论出于何种原因,这都适用于Cat连接,但不适用于WiFI(两者都有静态Ip)。

对于具有相同/类似问题的其他人。验证您的php.ini mysqli扩展是否已启用/取消注册。正如A.L所涉及的问题是mySQL设置而不是PHP / Ubuntu。