所以我一直试图将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);
答案 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);
记住你应该退出所有空间。