gpt4 book ai didi

php - 关于行数的 mysql_result 的语法问题

转载 作者:行者123 更新时间:2023-11-30 23:15:39 26 4
gpt4 key购买 nike

这是我当前的代码:

<?php
//Account validation
session_start();
if(!(isset($_SESSION['login']))){
header("location:welcome.php");

}
else{
$userid=$_SESSION['userid'];
}

//connecting to mediadatabase
//server info
$server_username="root";
$server_password="";
$database="toob";
$server="127.0.0.1";

$db_handle=mysql_connect($server, $server_username, $server_password);
$db_found=mysql_select_db($database, $db_handle);

//Generating Media iD and checking against previous media ids already in use
$query= "SELECT max(media_id) FROM media WHERE id = '$userid'";
$result = mysql_query($query) or die("Unable to perform query");
$numrows = mysql_num_rows($result);

if($numrows > 0) {
$mediaid = mysql_result($result,0) or die("Can't retrieve cell");
$mediaid = $mediaid + 1;
}
else{
print("No records exisiting");
$mediaid = 1;
}
print ($mediaid);

?>

我试图在“Media_id”列中为特定用户找到最大的数字。用户由他们的“id”标识。如果找到结果,我想根据 media_id 值创建一个变量并将其命名为 $mediaid,然后我想将 $mediaid 递增 1。该变量将在稍后的编程中使用。如果该用户 ID 没有记录,但是我想将 $mediaid 设置为 1。

问题是如果用户没有记录。如您所见,我已尝试使用 num rows 函数,但它不起作用,这是我的语法问题吗?任何建议将不胜感激!

谢谢 :)

最佳答案

如果在您的表中找不到任何行,您的查询将在 max(media_id) 列中返回带有 NULL 的行
所以你的 mysql_num_rows($result); 将始终返回 1;

您需要检查最大值

//Generating Media iD and checking against previous media ids already in use
$query= "SELECT MAX(media_id) AS max_id FROM media WHERE id='$userid'";
$result = mysql_query($query) or die("Unable to perform query");

$mediaid = mysql_result($result,0) or die("Can't retrieve cell");

if($mediaid != null) {
$mediaid = $mediaid + 1;
} else {
print("No records exisiting");
$mediaid = 1;
}

SqlFiddle:http://sqlfiddle.com/#!2/360dc8/1/0

关于php - 关于行数的 mysql_result 的语法问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18010523/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com