在mysql查询中选择并减少字段值


Select and Decrease field value on mysql query

我的mysql_query有问题我试着找到在线的会员,会员表中有一个字段"在线"总是用时间服务器更新。这就是查询。

$ now = time ();
$ olline = mysql_num_rows (mysql_query ("select * from members where gender = 'Man' and (online - '$ now')> 10"));

在phpmyadmin中,有7个成员符合上述查询。tp我得到一个值0。我的代码出了什么问题。tq的答案和抱歉糟糕的英语

这些天你应该尝试并始终使用Mysqli,因为不久之后Mysql就会完全消失。您的代码示例:

 $mysqli = new mysqli("localhost", "my_user", "my_password", "world");
/* check connection */
if (mysqli_connect_errno()) {
    printf("Connect failed: %s'n", mysqli_connect_error());
    exit();
}
$now = time(); // The time now for query calc
$gender = "Man"; // Gender for query
$stmt = $mysqli->stmt_init(); //Initialise statement
$stmt->prepare("SELECT * FROM members WHERE gender = ? AND (online - ?)> 10"); //Prepare the query
$stmt->bind_param('ss', $gender, $now); //Assign the query parameters
$stmt->execute(); // Execute the query
$stmt->store_result(); // store result of prepared statement
echo $stmt->num_rows;
$stmt->free_result(); //free up the $stmt var

变量名不能包含空格,因此变量名无效。它应该是$now$_now,并且NOT$ now。有关更多信息,请参阅语言变量基础:

正确代码:

    $now = time ();
    $olline = mysql_num_rows (mysql_query ("select * from members where gender = 'Man' and (online - '$now')> 10"));

此外,请避免使用mysql_函数,因为它们已被弃用。使用mysqli_PDO

我不确定,我已经清楚地理解了你的问题。

如果我理解正确,您希望显示在线可用成员。

你有任何标志来检查会员是否在线?如果有标志,则使用该标志并按联机状态进行筛选。这就是我们聊天操作的方式。

我不知道你为什么要做减法。