gpt4 book ai didi

PHP 将 int 转换为 string

转载 作者:行者123 更新时间:2023-12-02 04:33:34 26 4
gpt4 key购买 nike

我试图很好地解析我的 if-else 语句,但它似乎没有解析出 else 语句。

$a = 1
if (is_numeric($a))
{
$DB = new PDO('sqlite:database.db');
$result = $DB->query('select id from staff where id='.$a);
if ($result == "")
{
echo "'{$a}' is invalid. No such record", PHP_EOL;
}
else
{
echo "'{$a}' is found", PHP_EOL;
}

}
else
{
echo "'{$a}' is NOT numeric", PHP_EOL;
}

我的 $result 我认为它会以整数形式返回,因为当我说回显 $ 结果时,它说 PDO 语句无法转换为 INT。它不会转到我的第一个内部 else 语句。请告诉我我是如何犯错的。

谢谢

最佳答案

您的$result是一个对象,而不是整数。您需要调用 fetch 方法,例如 fetchAll,甚至更简单的 fetch 将数据放入另一个变量中。

尝试使用:

$a = 1
if (is_numeric($a))
{
$DB = new PDO('sqlite:database.db');
$result = $DB->query('select id from staff where id='.$a);
if ($result)
{
$data = $result->fetchAll(PDO::FETCH_NUM);
if (!isset($data[0]))
echo "'{$a}' is invalid. No such record", PHP_EOL;
else
echo "'{$a}' is found", PHP_EOL;
}
}
else
{
echo "'{$a}' is NOT numeric", PHP_EOL;
}

这是 fetch 的另一个示例:

$a = 1
if (is_numeric($a))
{
$DB = new PDO('sqlite:database.db');
$result = $DB->query('select id from staff where id='.$a);
if ($result)
{
$data = $result->fetch(PDO::FETCH_ASSOC);
if (!$data)
echo "'{$a}' is invalid. No such record", PHP_EOL;
else
echo "'{$a}' is found", PHP_EOL;
}
}
else
{
echo "'{$a}' is NOT numeric", PHP_EOL;
}

关于PHP 将 int 转换为 string,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11331505/

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