Php SQL查询无法正常运行,无法通过完美的查询获得任何输出
代码:Php SQL查询无法正常运行,无法通过完美的查询获得任何输出,php,mysql,sql,Php,Mysql,Sql,代码: $db=mysqli_connect(“localhost”、“root”、“1596”); 如果(mysqli_connect_errno($db)){die(“err”);} $result=mysqli_查询($db,$sql);//线路校正 $row=mysqli_fetch_数组($result);//线路校正 也许是个愚蠢的问题,但是您是否尝试过获取$sql变量的值并直接在sql中运行它?是的,[正如我在问题中所说的那样]。“在服务器上运行该查询”是什么意思?顺便说一句,您可
$db=mysqli_connect(“localhost”、“root”、“1596”);
如果(mysqli_connect_errno($db)){die(“err”);}
$result=mysqli_查询($db,$sql);//线路校正
$row=mysqli_fetch_数组($result);//线路校正
也许是个愚蠢的问题,但是您是否尝试过获取$sql变量的值并直接在sql中运行它?是的,[正如我在问题中所说的那样]。“在服务器上运行该查询”是什么意思?顺便说一句,您可能希望熟悉SQL注入。您将自己置于SQL注入攻击的大环境中。此外,任何带有单引号的输入数据,如“O'Malley”的名称,都会破坏您的SQL查询。请了解如何使用参数化查询(最好是PDO模块)来保护您的web应用程序。有一些示例可以帮助您入门。不要引用/反勾选列和表的名称。它们只会增加视觉上的混乱,只是你犯语法错误的又一种方式。你需要它们的唯一原因是如果你有一个保留字的列名,而使用保留字的列名是一个糟糕的主意,所以这两个坏习惯你可以一次避免。好的修复,虽然它不能解决问题,我仍然从脚本的其余部分得不到任何东西
<?php
session_start();
if ( isset($_GET['user']) && isset($_GET['pass']) )
{
$sql = "SELECT * FROM `users` WHERE `name` = '" . $_GET['user'] . "' AND `password` = '" . $_GET['pass'] . "';";
echo("query: $sql <br />");
$db = mysqli_connect("localhost", "root", "<password here>", "1596");
if (mysqli_connect_errno($db)) { die("err"); }
$result = mysqli_query($db, $sql);
echo($query);
$row = mysqli_fetch_aray($result);
echo($row);
if ($row['name'] == $_GET['user'])
{
$_SESSION['uid'] = $row['name'];
$_SESSION['level'] = $row['level'];
echo("logged in as " . $_SESSION['uid']);
}
}
else
{
die("Error, not enough parameters");
}
?>
$db = mysqli_connect("localhost", "root", "<password here>", "1596");
if (mysqli_connect_errno($db)) { die("err"); }
$result = mysqli_query($db, $sql); // line corrected
$row = mysqli_fetch_array($result); // line corrected