Php 从数据库输出的数据不起作用
我有一个授权页面,一切正常,但当我登录时,我想看到该用户数据库中的其他数据。 密码 只删除一个用户和所有内容,当我退出会话并作为新用户打开时,没有任何内容被删除。。。。与数据库的连接工作正常Php 从数据库输出的数据不起作用,php,firebird,firebird2.5,Php,Firebird,Firebird2.5,我有一个授权页面,一切正常,但当我登录时,我想看到该用户数据库中的其他数据。 密码 只删除一个用户和所有内容,当我退出会话并作为新用户打开时,没有任何内容被删除。。。。与数据库的连接工作正常 session_start(); require ('vendor/connect.php'); $FIRSTNAME=$_SESSION['FIRSTNAME']; $sql = "SELECT BIRTHDAY from users WHERE FIRSTNAME='$FIRSTN
session_start();
require ('vendor/connect.php');
$FIRSTNAME=$_SESSION['FIRSTNAME'];
$sql = "SELECT BIRTHDAY from users WHERE FIRSTNAME='$FIRSTNAME'";
$result = ibase_query($db, $sql);
if (ibase_fetch_row($result) > 0) {
while($row = ibase_fetch_assoc($result)) {
echo "You BIRTHDAY: " . $row["BIRTHDAY"]. " ";
}
} else {
echo "0 results";
}
您的代码应如下所示:
$sql = "SELECT BIRTHDAY from users WHERE FIRSTNAME='$FIRSTNAME'";
$result = ibase_query($db, $sql);
$row = ibase_fetch_row($result);
while ($row) {
echo $row[0] . "\t";
}
嗯……我认为这是不对的,因为结果是0 1990-12-10 1990-12-10 1990-12-10 1990-12-10 1990-12-10 1990-12-10 1990-12-10 1990-12-10 1990-12-10 1990-12-10 1990-10 1990-12-10 1990-12-10 1990-12-10 1990-12-10 1990-12-10 1990-10 1990-12-10 1990-12-10 1990-10 1990-12-10 1990-10 1990-12-10 1990-10 1990-12-10调用
while
语句中的ibase\u fetch\u row
。谢谢,但这与第一个代码一样,当我登录一个人时,会显示生日,但当我与另一个人登录时,不会显示日期。这将导致堆栈溢出。请阅读sql注入以及如何编写PHP代码来避免它。在$sql
中使用$FIRESTNAME
是一个很好的例子,说明代码容易被恶意内容注入,从而使整个服务器暴露给恶意用户。你说的“击倒”是什么意思?对不起,我的意思是,您可以先向我们提供您输入到表中的真实数据,然后输入到PHP应用程序中。看到了,也看到了,所以输入到PHP中的其他人名可能与Firebird看到的不同。它可能是由不同的字符集、不同的转义(例如,非预期的注入)等引起的。首先,从一个循环中提取表中的所有行,并将其与<代码> $FiSTNEX//COD>值一起显示,以及PHP对SQL字段和变量中的值的比较,PHP是否将它们视为相等值或不相等?