1

我正在尝试为在登录用户打开某个页面后引用登录用户的用户增加价值

所以我做了一些更改,我现在收到以下错误

Warning: mysql_fetch_assoc(): supplied argument is not a valid MySQL result resource 
in C:\xampp\htdocs\test\goingback_t_play_150.php on line 18

Warning: mysql_num_rows(): supplied argument is not a valid MySQL result resource in  
C:\xampp\htdocs\test\goingback_t_play_150.php on line 20
, 

这是我的代码

<?php
session_start();
?>
<?php
// Adjust MySQL connection settings...
$mysql_hostname = "localhost";
$mysql_user = "user";
$mysql_password = "";
$mysql_database = "";
$bd = mysql_connect($mysql_hostname,    $mysql_user,$mysql_password) or die("");
mysql_select_db($mysql_database, $bd) or die

$sql="SELECT * FROM users where id={$_SESSION['refcode']}"; 

$val = 2; //#2 : Why do u need the ()?
$result = mysql_query($sql,$bd);
$data=mysql_fetch_assoc($result);
if (mysql_num_rows($result)==1) {
// equate the value to a variable to use outside
// this while loop
 $acc_balance = $data['com_balance'];

$commision = $data['id'];
}
$remainder = $acc_balance + $val;       
$update_query = mysql_query("UPDATE users SET com_balance = '".                 
mysql_real_escape_string($remainder) ."'
WHERE id='refcode'"); 
if ($update_query) {
 print "";
4

2 回答 2

1

mysql_不鼓励使用,我建议您mysqli_改用,更多信息在这里

对于您的问题,您应该检查您的变量$_SESSION['refcode']是否定义正确。

如果此变量设置正确,则您的 SQL 语法或数据库中可能存在错误。

尝试更换:

$result = mysql_query($sql,$bd);

有了这个 :

$result = mysql_query($sql,$bd) or die(mysql_error($bd));

如果有任何错误,您的脚本将输出 MySQL 错误,因为您的结果变量似乎未定义。

于 2012-09-26T07:50:23.650 回答
1

看起来数据库查询中有错误。

后 :

    $result = mysql_query($sql,$bd);

添加 :

    if (!$result) {
      die(mysql_error());
    }

应该告诉你查询的问题。

于 2012-09-26T07:52:25.877 回答