如何通过PHP从我的MySQL服务器获取一个int?

时间:2015-04-11 15:27:55

标签: php mysql

对于PHP我是新手,但是我不明白我的语法在这个语句中是错误的,或者我如何从我的MySQL服务器中获取一个int。

我知道我的服务器凭据工作正常。我如何修复此语句以给我返回userinfo表中的评论数量的整数?

$numberofpreviousreviews = mysql_query("SELECT `number_of_reviews` FROM `userinfo`") or die(mysql_error()); //Check to see how many reviews user has previously created
$amountofreviews = $numberofpreviousreviews + 1;
$query2 = mysql_query("ALTER TABLE userinfo ADD `amountofreviews` VARCHAR(10000)") or die(mysql_error()); //Make another column in database for the new review 

2 个答案:

答案 0 :(得分:2)

运行查询后,您需要获取结果。有几种方法可以做到这一点,但使用mysql_fetch_assoc()将对您有用。

$numberofpreviousreviews = mysql_query("SELECT `number_of_reviews` FROM `userinfo`") or die(mysql_error()); //Check to see how many reviews user has previously created
$row = mysql_fetch_assoc($numberofpreviousreviews);
$amountofreviews = $row['number_of_reviews'] + 1;

仅供参考,您不应再使用mysql_*功能了。它们已被弃用并消失。您应该使用mysqliPDO

答案 1 :(得分:1)

假设您有一个表userinfo,它具有以下结构和数据:

enter image description here

情景#1

如果您想要检索所有number_of_reviews,请执行此操作,

$query = "SELECT `number_of_reviews` FROM `userinfo`";

$result = mysqli_query($db,$query);

while ($row = mysqli_fetch_assoc($result)) {
echo "Number of reviews : " . $row['number_of_reviews'] . "<br/>";
}

它会给你,

Number of reviews : 20
Number of reviews : 40

因为结果有很多行,所以会显示如上所示。

情景#2

如果您只想检索特定number_of_reviews的某个用户ID(这是唯一的)。我以id1作为示例。那就好了,

$query2 =  "SELECT `number_of_reviews` FROM `userinfo` WHERE `id` = 1";
$result2 = mysqli_query($db,$query2);

while ($row2 = mysqli_fetch_assoc($result2)) {
    echo $row2['number_of_reviews'] . "<br/>";
}

这将打印,

20.

因为number_of_reviews 1 id为20。