为什么我会收到“Unexpected T_AS”在 PHP PDO 请求中?

发布于 2024-09-30 21:29:50 字数 829 浏览 5 评论 0原文

我收到以下错误...

解析错误:语法错误,第 98 行 ....\index.php 中出现意外的 T_AS

以下脚本第 98 行 ....\index.php 中出现意外的 T_AS...

 <?php
    try {
        $db = new PDO('mysql:host=localhost;dbname=db', 'user', 'pw');
        $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
        $db->beginTransaction();

        $stmt = $db->prepare("SELECT * FROM tablename");
        $stmt->execute();

        while($db->fetch(PDO_FETCH_ASSOC) as $row) {
            $id= $row['id'];
            $name= $row['name'];
        }   

        $db->commit();
    }

    catch (PDOException $e)
    {
        $db->rollback();
        echo "There was a system error.<br>".$e->getMessage();          
    }
?>

知道是什么引发了错误吗?我检查了是否缺少分号、逗号和作品,但一无所获!

I receive the following error...

Parse error: syntax error, unexpected T_AS in ....\index.php on line 98

for the following script...

 <?php
    try {
        $db = new PDO('mysql:host=localhost;dbname=db', 'user', 'pw');
        $db->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
        $db->beginTransaction();

        $stmt = $db->prepare("SELECT * FROM tablename");
        $stmt->execute();

        while($db->fetch(PDO_FETCH_ASSOC) as $row) {
            $id= $row['id'];
            $name= $row['name'];
        }   

        $db->commit();
    }

    catch (PDOException $e)
    {
        $db->rollback();
        echo "There was a system error.<br>".$e->getMessage();          
    }
?>

Any idea what is throwing the error? I have checked for missing semicolons, commas, and the works but got nothing!

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

终止放荡 2024-10-07 21:29:50

解析错误:语法错误,第 98 行 ....\index.php 中出现意外的 T_AS

T_AS 是 PHP 解释器中 as 的标记。当尝试解析代码的语法时,这是意外的。

as 仅在 foreach 循环中有效,并且您使用的是 while

while 循环更改为 foreach 循环。

更新

致命错误:在第 113 行索引.php 中调用未定义的方法 PDO::fetch()

这是一个运行时错误 - PDO 对象没有名为 fetch() 的方法。您是否在正确的对象上调用 fetch()

查看文档

正如 Wrikken 在评论中所述,它将是您的 $stmt 对象的方法。

Parse error: syntax error, unexpected T_AS in ....\index.php on line 98

T_AS is the token for as in the PHP interpreter. It was unexpected when trying to parse your code's syntax.

as is only valid in a foreach loop, and you are using a while.

Change your while loop to a foreach loop.

Update

Fatal error: Call to undefined method PDO::fetch() in index.php on line 113

This is a run time error - the PDO object has no method called fetch(). Are you calling fetch() on the right object?

Check out the documentation.

As Wrikken states in the comments, it will be a method of your $stmt object.

只是偏爱你 2024-10-07 21:29:50

因为您在“while”循环中使用“as”关键字,这是无效的。将“while”更改为“foreach”,然后就可以开始了。

Because you are using the 'as' keyword in a 'while' loop, which is not valid. Change the 'while' to 'foreach' and you are good to go.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文