我的代码中的函数 set_title() 有啥问题[重复]

Posted

技术标签:

【中文标题】我的代码中的函数 set_title() 有啥问题[重复]【英文标题】:whats wrong with the function set_title() in my code [duplicate]我的代码中的函数 set_title() 有什么问题[重复] 【发布时间】:2019-05-21 08:34:35 【问题描述】:

我创建了一个名为set_title()的函数,用于在数据库中设置标题和描述我不知道我哪里错了

         function set_title($file,$title = "",$description = "")
           $pathinfo = pathinfo($file);
           $file = $pathinfo['basename'];
           if ($title == "") 
           $title = ucfirst($pathinfo['filename']);
            
            if ($description !== "") 
            $description = mb_substr($description, 0, 150);
            
           $sql = "SELECT file, title ,description FROM title  WHERE file = '$file'";
           $con = new mysqli('localhost','root','','jbstore');
           $result = $con->query($sql);
           if($result->num_rows > 0)
             $data = $result->fetch_assoc();
               if($data['description'] == "")
                 $sql = "INSERT INTO title (description) VALUES('$description')";
                 $con->query($sql);
               
           elseif ($result->num_rows == 0) 
             $sql = "INSERT INTO title (file,title,description) VALUES ('$file','$title',$description)";
             $result = $con->query($sql);
           
         

我希望它将数据插入数据库,但没有任何反应

【问题讨论】:

你测试过那些IFs是否被执行了吗? elseif 更改为else,也许$result->num_rows 返回一个NULL 值,这意味着您的代码有可能无法执行 有错误吗? (如果不是,have you enabled error reporting?)您是否检查过代码中运行了哪些路径(例如通过记录特定文本?)如果是,您期望的路径是什么?如果没有,您是否检查过您在 if 语句中使用的值? 你也应该真正使用准备好的语句。您很可能容易受到SQL-Injection 的攻击。请参阅How can I prevent SQL injection in php? IFs 没有执行 【参考方案1】:

代码中的一些问题。

 $sql = "INSERT INTO title (file,title,description) VALUES ('$file','$title',$description)";

这里的 $description 将用作 INT val。

用quote('')添加$description

 $sql = "INSERT INTO title (file,title,description) VALUES ('$file','$title','$description')";

【讨论】:

以上是关于我的代码中的函数 set_title() 有啥问题[重复]的主要内容,如果未能解决你的问题,请参考以下文章

seaborn使用displot函数实现多面板直方图(Multi-panel)可视化:使用set_title函数自定义设置多面板直方图标题(Multi-panel histograms’ title)

你能告诉我PHP中的这个谷歌驱动API调用函数有啥问题吗

将字节数组从 NodeJS 发送到 C 库

javascript中的.then函数有啥用? [复制]

我的 SORT 函数有啥问题?

seaborn联合图上的set_title [重复]