Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/230.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 从数据库输出的数据不起作用_Php_Firebird_Firebird2.5 - Fatal编程技术网

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是否将它们视为相等值或不相等?