PHP 和 MySQL SELECT 子字符串

标签 php mysql

$content 是一个带有“详细描述”的变量。 product_id 是名为 products

的 MySQL 表中可能包含详细描述 ($content) 的子字符串的列

我正在尝试创建一个选择语句,如果 product_id 包含在 $content 变量中,该语句将查找记录。然后我想使用 SELECT 语句中的 url 字段更新另一个名为 receive_sms 的表 在网站上进行研究后,我得出了以下结论......但它不起作用

$mysqlic = mysqli_connect("testsms.cloudaccess.net", "username", "password", "testsms2");
$prod_res=mysqli_query($mysqlic,"SELECT url from products
                                 WHERE %product_id% LIKE %$content%");
mysqli_query($mysqlic,"INSERT INTO recieve_sms (comments) VALUES ('$prod_res')");

有什么想法吗?

最佳答案

应该是:

$prod_res = mysqli_query($mysqlic, "SELECT url from products
                                    WHERE '$content' LIKE CONCAT('%', product_id, '%')");

或者:

$prod_res = mysqli_query($mysqlic, "SELECT url from products
                                    WHERE LOCATE(product_id, '$content') != 0");

您需要将 $content 放在引号中。

实际上,如果您使用准备好的查询会更好,那么 '$content' 将成为占位符 ?

查询后,需要调用mysqli_fetch_assoc()来获取列值:

$row = mysqli_fetch_assoc($prod_res);
$url = $row['url'];

关于PHP 和 MySQL SELECT 子字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24099762/

相关文章:

php - 如何在 php 中从 MySQL 数据库中选择表?

php - 如何在注册时自动分配自定义角色?

用于选择修复行数 "families"的 SQL

mysql - 设置 MySQL 输出格式

php - Facebook 登录无法连接到 graph.facebook.com :443; Operation now in progress

php - 如何也将列设置为 Upper 并删除集合 laravel 中的符号 _

尝试更新 joomla 插件中的表时出现 Mysql 语法错误

mysql - 如何在特定条件下自连接表

php - 将 CSV 文件转换为 Mysql 数据库 PHP

php-cgi 未在 Windows 下为谷歌应用引擎执行