此查询正在处理mij较旧的登录脚本,但现在我有了这个新的登录脚本,我的代码不得不改变一个litlle,我似乎无法启动。我认为麻烦是最终if用户在线的地方被检查......
这是我的代码
<?php
session_start();
require_once 'class.user.php';
$user_home = new USER();
if(!$user_home->is_logged_in())
{
$user_home->redirect('index.php');
}
$stmt = $user_home->runQuery("SELECT * FROM tbl_users WHERE userID=:uid");
$stmt->execute(array(":uid"=>$_SESSION['userSession']));
$row = $stmt->fetch(PDO::FETCH_ASSOC);
?>
<?php
function pay_credits() {
mysqli_query("UPDATE `tbl_users` SET `credits`=`credits`-'1' WHERE `watching`='1' AND `credits`>'0' AND userID=:uid");
}
?>
<?php
pay_credits();
?>
顶级脚本工作正常,但函数pay_credits不起作用,我已经尝试将mysql更改为mysqli,因为我听到很多已经弃用了东西,但仍然没有结果,我一直在阅读有关pdo但我没有了解这一点。欢迎任何帮助,我也想学习,也许你可以解释你做了什么。 Thnx:)
答案 0 :(得分:0)
首先:如果您阅读mysqli_query manual,您会看到mysqli_query
有两个参数。第一个是link
,第二个是query string
。
您在link
功能中看到pay_credits
了吗?不。
第二次:我注意到您使用了PDO::FETCH_ASSOC
,然后突然切换到mysqli
。
PDO
和mysqli
完全不同的API ,您应该选择使用哪一种。
答案 1 :(得分:0)
您在没有设置的情况下使用pay_credits()
,您的函数mysqli_query
需要使用参数进行数据库连接。