这是一个我用不同方式解决了很多次的问题,但从来没有得到一个优雅的解决方案。
我有一个要构建的 SQL 字符串:
$sql = "UPDATE table";
$sql .= "SET";
$sql .= "sqlTableName = 'Y', column2 = value2";
Run Code Online (Sandbox Code Playgroud)
现在,基于
isset($_GET['value1'])
Run Code Online (Sandbox Code Playgroud)
我想补充:
$sql .= "sqlTableName = 'Y',"
Run Code Online (Sandbox Code Playgroud)
并基于
isset($_GET['value2'])
Run Code Online (Sandbox Code Playgroud)
我想要:
$sql .= "sqlTableName2 = 'Y',"
Run Code Online (Sandbox Code Playgroud)
要添加。
如果我在字符串之前或之后放置逗号,我就会遇到麻烦。
现在我知道如何解决它,但如何优雅地做到这一点?
将值放入数组中,然后使用数组连接方法。具体语法取决于您使用的编程语言。
您选择的标签在确定它是什么方面完全没有帮助,但看起来您正在使用 PHP。
<?php
$values = [ $_GET['value1'], $_GET['value2'] ];
print join(", ", $values);
Run Code Online (Sandbox Code Playgroud)
(显然,由于数组中值的数量在您的情况下是可变的,您将动态生成它,可能使用推送方法,并且将用户输入直接粘贴到 SQL 中是危险的)。