gpt4 book ai didi

php - SQL中的控制流问题

转载 作者:行者123 更新时间:2023-11-30 00:04:06 26 4
gpt4 key购买 nike

在 php 脚本中,有一个名为 $partners_location 的变量。

在 SQL 中有一个名为 plocation 的列。

我想要做的是首先检查plocation列中是否有任何值与$partners_location的值匹配。

如果它确实匹配,那么我想继续从 php 脚本本身创建一个新表。

对于这种情况,我知道我们需要的是If else,但我不知道如何在这里使用它

这就是我一直在尝试的方法,我正在使用 PDO。

$dsn= "mysql:dbname=mydatabase";
$name= "root";
$password="****";
$conn = new PDO ($dsn, $name, $password);

...

if($CON = $conn->prepare("SELECT FROM CIDB WHERE plocation='$partners_location'");
$CON->execute();)
{
$tbl=$conn->prepare("CREATE TABLE chat (id INT NOT NULL);
}
else
{
$tbl=$conn->prepare("CREATE TABLE xyz (id INT NOT NULL);
}

我认为这些 if else 语句不会起作用。

有人可以建议我一些可行的方法吗?

最佳答案

即使查询成功但返回零行,

$CON->execute() 也会返回 true
使用 COUNT() 检查行是否存在。
像这样:

$CON = $conn->prepare("SELECT COUNT(*) as cnt FROM CIDB WHERE plocation = '$partners_location'");
$CON->execute();
$row = $CON-> fetch();
if($row[0] != '0' )
$tbl=$conn->prepare("CREATE TABLE chat (id INT NOT NULL)");
else
$tbl=$conn->prepare("CREATE TABLE xyz (id INT NOT NULL)");

关于php - SQL中的控制流问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24750343/

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