警告:mysqli_query():无法在第13行的C:\ ...中获取mysqli

时间:2014-09-21 13:40:45

标签: php mysqli

虽然这个问题已被多次提出(和回答),但我没有找到问题的解决方案。 这是我的代码:

<?php
@session_start();

include("./include/config.php");
include("./include/db_connect.php");
include("functions.php");

if (!isset($_GET['artikelID'])){$_GET['artikelID'] = "";}
if (!isset($_SESSION['UserID'])){$_SESSION['UserID'] = "";}

$sql = "SELECT kundenID FROM kunden WHERE username = '".$_POST['myusername']."' AND password = '".md5($_POST['mypassword'])."' ";

$result = mysqli_query($connect, $sql) OR die("<pre>\n".$sql."</pre>\n".mysqli_connect_error()); // this is line 13

$row = mysqli_fetch_assoc($result);

if (mysqli_num_rows($result)==1){
     doLogin($row['kundenID'], isset($_POST['Autologin']));
     header("location:cart.php?action=add&artikelID=".$_GET['artikelID']."&id=". $_SESSION['UserID'] ." ");
}

else {
     header("location:k_login.php?error=TRUE ");
}

include("./include/db_close.php");
?>

mysqli_connect_error()向我展示了绝对正确的sql-query;使用名为mysql-front的工具测试sql-query,并带来一个(和正确的)结果,即'kundenID'。 我已经测试了很多东西(比如$ _SESSION ['connect']或$ _GLOBALS ['connect']而不是db_connect.db中的$ connect),但没有结果。 有人可以帮帮我吗?

- 更新 -

为什么没有人回答? 这个问题的描述不清楚吗? db-connection建立如下:

<?php
error_reporting(E_ALL);
$connect = mysqli_connect($dbserver,$dbuser,$dbpass,$dbname);
// Check connection
if (mysqli_connect_errno()){
  echo "Zeile ".__LINE__.": Datenbankverbindung ist fehlgeschlagen ! " . mysqli_connect_error();
  exit();
}
?>

checklogin-script(已测试)中已知所有db变量。所有$ _POST变量在checklogin-script(已测试)中也是已知的。我甚至尝试了一个硬编码的sql-query(带有db中测试记录的真实数据)。 结果仍然是相同的:mysqli_connect_error()报告正确的查询 - 但是没有更多的事情发生。 在此期间我花了10多个小时。如果有人能帮助我,我真的很感激。

1 个答案:

答案 0 :(得分:0)

Couldn't fetch mysqli表示PHP无法将$connect变量的内容标识为有效的mysqli连接。尝试在"./include/db_connect.php"中添加一些错误处理,以了解阻止您使用它的mysqli连接发生了什么。