我有一个包含以下数据的文本文件:
1_fjd
2_skd
3_fks
Run Code Online (Sandbox Code Playgroud)
我想用PHP替换我的文本文件中的一个部分.例如,我想这样做:
找到以" 2_" 开头的行并将其替换为" 2_word",因此'2_'之后的所有内容都将替换为:'word'.我怎么能在PHP中这样做?
我有一个简单的文章和评论系统与下表:
文章表:
id | writer | text
1 | Bob | first article
2 | Marley | second article
Run Code Online (Sandbox Code Playgroud)
评论表:
id | article_id | comment
1 | 1 | i love this article
2 | 1 | good one
3 | 2 | waiting for more
Run Code Online (Sandbox Code Playgroud)
我想选择每篇文章及其下面的评论.我使用以下查询:
SELECT * FROM articles LEFT JOIN comments ON articles.id = comments.article_id
Run Code Online (Sandbox Code Playgroud)
结果我得到:
articles.id | articles.writer | articles.text | comments.id | comments.article_id | comments.comment
1 | Bob | first article | 1 | 1 …Run Code Online (Sandbox Code Playgroud) 我有以下代码将PHP GET值绑定到MYSQL查询:
$STH->bindValue(':category', $_GET['category']);
Run Code Online (Sandbox Code Playgroud)
现在我在error_log中收到PHP通知:
PHP Notice: Undefined index: category
Run Code Online (Sandbox Code Playgroud)
我不能只声明$ _GET ['category']或者我会删除它的值.
谢谢
我有一个示例 MYSQL 表,其中包含以下行:
name
------
Oppo A71 (2018)
Plum Flipper (2018)
Lenovo K5 Note (2018)
Huawei Y9 (2018)
Huawei Y7 (2018)
Run Code Online (Sandbox Code Playgroud)
我想让用户搜索数据库。问题是,在大多数情况下,用户会搜索2018没有括号的关键字samsung a8 2018,例如,而不是samsung a8 (2018)。
所以对于以下查询:
SELECT * FROM phones WHERE name LIKE '% 2018 %'
Run Code Online (Sandbox Code Playgroud)
它不会返回任何内容,因为2018它存储在数据库中,周围有括号。
如果我将查询切换为:
SELECT * FROM phones WHERE name LIKE '%2018%'
Run Code Online (Sandbox Code Playgroud)
它将正确显示结果,但我不希望查询匹配文本,如果它是字符串的一部分,或者会返回数千个不相关的行。这些词必须是实际找到的词,而不是词的一部分。所以我必须在一年左右有空间。
运行时有没有办法LIKE忽略括号,2018以便例如将行与(2018)单词匹配?