PHP从mysql获取int值

时间:2016-11-11 18:44:17

标签: php mysql database

所以我一直试图将db的结果作为整数; 我只存储一行信息,因此我只选择一个值。如何将结果转换为整数?我也试过$ dbnum_rows =(int)但它也没有帮助; /

$query1 = "SELECT num_rows FROM config";
$dbnum_rows = $mysqli->query($query1);
$dbnum_rows = intval($dbnum_rows);

$query2 = "SELECT num_cols FROM config";
$dbnum_cols = $mysqli->query($query2);
$dbnum_cols = intval($dbnum_cols);

3 个答案:

答案 0 :(得分:0)

execute调用的结果是结果对象。你不能用intval击败它,并期待任何有意义的东西出来。相反,这样做:

$numbers = array();
while($row = $dbnum_cols->fetch_array())
{
  $rows[] = intval($row[0]);
}

答案 1 :(得分:0)

我相信你来自另一种解析或转换数据类型很常见的语言。虽然这种做法确实存在于php7中的php中,但它通常不是必需的,因为开发人员没有明确定义数据类型,而是在运行时由php确定。例如,在php中:

$a = "1";      // this is a string
$b = 2;        // This is an int

$x = $a + $b;  // $c = 3;

正如tadman所说,你的结果是一个你需要迭代的对象,并获得第一个索引$row[0],它可以很容易地被视为没有intval()的整数。

答案 2 :(得分:-1)

如果在数据库中保存varchar的字段,则需要使用以下内容在PHP中进行强制转换:

(int)str_replace(' ', '', $b);

记住你应该退出所有空间。