【问题标题】:PHP URL Shortener: Shortener.php returning an error messagePHP URL Shortener: Shortener.php 返回错误信息
【发布时间】:2014-05-29 18:09:54
【问题描述】:

因此,由于缺乏 PHP 和 MySQL 方面的经验,我正在根据这个 YouTube 教程 (PHPAcademy) 为我的网站创建一个 URL Shortener,我觉得我很快就学会了,但是当我收到此错误消息时提交网址。

解析错误:语法错误,第 37 行 /home/langers/public_html/r/shorten/classes/Shortener.php 中的意外“更新”(T_STRING)

但是,在代码中,它提到的行和暗示的 T_STRING 'UPDATE' 是意外的,在教程中是需要的。

<?php
class Shortener {
    protected $db;

    public function __construct() {
        //Demo Purposes
        $this->db = new mysqli('localhost', 'langers_langers', 'password','langers_website');
    }

    protected function generateCode($num){
        return base_convert($num, 10, 36);
    }

    public function makeCode($url){
        $url = trim($url);

        if(!filter_var($url, FILTER_VALIDATE_URL)) {
            return '';
        }

        $url = $this->db->escape_string($url);

        //Check if URL already exists
        $exists = $this->db->query("SELECT code FROM links WHERE url ='{$url}'");

        if($exists->num_rows){
            return $exists->fetch_object()->code;
        } else {

        //Insert record without a code
        $insert->$this->db->query("INSERT INTO links (url, created) VALUES ('{$url}', NOW());

        //Generate code based on id
        $code = $this->generateCode($this->db->insert_id);

        //Update Record
        $this->db->query("UPDATE links SET code = '{$code}' WHERE url = '$url'");

        return $code;
        }
    }

    public function getUrl($code){

    }
}

?>

关于如何修复它以便它仍然更新 MySQL 数据库的任何想法?

谢谢

【问题讨论】:

  • 在第 31 行,您还没有关闭报价。
  • 看语法高亮。

标签: php mysql url


【解决方案1】:

错误发生在之前,当您错过结束引号时

//Insert record without a code
$insert->$this->db->query("INSERT INTO links (url, created) VALUES ('{$url}', NOW());

还请注意,您使用 $insert 时就好像它是一个对象,但事实并非如此。也许你的意思是:

$insert = $this->db->query("INSERT INTO links (url, created) VALUES ('{$url}', NOW())");

【讨论】:

  • 这次你赢了……我也打算发同样的:)
  • 非常感谢!我今天和昨天花了很长时间试图弄清楚这一点!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-10-29
  • 1970-01-01
  • 2019-12-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多