gpt4 book ai didi

PHP实现MySql语句

转载 作者:行者123 更新时间:2023-11-29 20:30:42 25 4
gpt4 key购买 nike

我有 2 张 table

带列的 test_pattern:

  • ID、网址、创建者

带列的 test_map

  • id,网址
  • 示例数据
    • id:1,网址:“www.abc/”
    • id:2,网址:“www.abc/?a=b”
    • id:3,网址:“www.abc/testing”

我有一个网站,可以从 test_map 检索网址列表,并且用户可以选择要插入到 test_pattern 中的网址

  • 现在,当用户选择要添加的 url 时,应检查 test_map 并使用 querystings 添加相关 URL
  • 例如,当选择“www.abc/”时,应添加“www.abc/”“www.abc/?a=b”
  • 最后,如果test_pattern中已经存在url,则不应添加

我带来了一个有效的 sql 语句:

SELECT * FROM (SELECT NULL as id, url as url, "Ronny" as creator 
from test_map where url LIKE '%www.abc/?%') as tmp WHERE NOT EXISTS (SELECT pattern FROM test_pattern WHERE pattern LIKE '%www.abc/?%');

但是我不知道如何在 php 中实现它,这就是我尝试过的:

$sql = array(
sprintf('INSERT INTO %s SELECT * FROM (SELECT NULL as id, url as url, %s as creator FROM test_map WHERE url LIKE '%%s%')
AS tmp', "'".$creator."'", "'".$url."?'".
' WHERE NOT EXISTS (SELECT * FROM test_pattern WHERE url LIKE '%'.sprintf('%s',"'".$url."?'").'%') LIMIT 1'
);

请协助php执行sql语句。谢谢

最佳答案

将 test_pattern 中的 URL 字段设置为唯一,然后执行

 WHERE url LIKE '$url%'

如果 test_pattern 中存在该值,则无需测试

关于PHP实现MySql语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39092671/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com