【发布时间】:2017-02-23 03:06:07
【问题描述】:
// db.php
$db = array();
$db['host'] = '127.0.0.1';
$db['login'] = 'root';
$db['pass'] = '';
$db['name'] = 'edziennik';
$db_conn = new PDO('mysql:host='.$db['host'].';dbname='.$db['name'].';charset=utf8mb4', $db['login'], $db['pass']);
login_system.php
<?php
require_once('cfg/db.php');
function validate_data($l, $p)
{
$query = "SELECT * FROM e_users WHERE login='"+$l+"' AND password='"+$p+"'";
$stmt = $db_conn->query($query);
$row_count = $stmt->rowCount();
if($row_count===1)
return true;
else
return false;
return false;
}
错误:在 null 上调用成员函数 query() 添加全局前缀没有帮助。 我浪费了很多时间来修复它,所以我问你。
【问题讨论】:
-
您需要将 $db_conn 传递给您的 validate_data 函数。
-
global声明应该有效,你一定犯了一个错误。 -
另一个问题:PHP 使用
.连接字符串,而不是+。但是您应该使用准备好的语句,而不是将变量连接到查询中。