如何使用 PHP 使用 textarea 参数进行查询

how to make a query using textarea parameters using PHP

首先,英语不好!

我正在尝试进行查询,其中我使用 textarea 传递参数,如果我在 textarea 中写一行,我的代码就可以正常工作。

我的代码:

//taking the textarea value
    $text = $_POST['coment'];

$teste = $text = str_replace("\n",",",$text);



$sql = "SELECT CODIGO_VENDEDOR,NOME_VENDEDOR,SENHA_URA,DATA_EXPIRACAO from senha where CODIGO_VENDEDOR IN ('" . $teste . "')";

$results = mysqli_query($conexao,$sql);

while($row = mysqli_fetch_assoc($results)) { ?>
 <table>
 <td style="padding:5px"> <?php echo $row["CODIGO_VENDEDOR"];?></td>
 <td style="padding:5px"> <?php echo $row["NOME_VENDEDOR"];?></td>
 <td style="padding:5px"> <?php echo $row["SENHA_URA"];?></td>
 </table>
 
<?php }
?

将查询更改为:

$sql = "SELECT CODIGO_VENDEDOR,NOME_VENDEDOR,SENHA_URA,DATA_EXPIRACAO from senha where CODIGO_VENDEDOR IN ('" . $teste . "')";

$sql = "SELECT CODIGO_VENDEDOR,NOME_VENDEDOR,SENHA_URA,DATA_EXPIRACAO from senha where CODIGO_VENDEDOR IN ('$teste')";

如果变量$_POST['comment']有这样的东西:

123,456,567...(逗号分隔值)

那么你需要这样的东西:

$teste = explode(",", $_POST['coment']);

然后在 SQL 中输入如下内容:

$sql = "SELECT 
        CODIGO_VENDEDOR,NOME_VENDEDOR,SENHA_URA,DATA_EXPIRACAO 
        FROM senha 
        WHERE CODIGO_VENDEDOR IN ('" . implode("','", $teste) . "')";

为什么您的代码不起作用?

好吧,您收到类似“12345,jbcd1,887y1”的内容并直接连接到 SQL,因此您会得到类似这样的内容:

$sql = "SELECT 
        CODIGO_VENDEDOR,NOME_VENDEDOR,SENHA_URA,DATA_EXPIRACAO 
        FROM senha 
        WHERE CODIGO_VENDEDOR IN ('12345,jbcd1,887y1')";

如您所见,问题是您需要不同的值,因此您需要这样的东西:

$sql = "SELECT 
        CODIGO_VENDEDOR,NOME_VENDEDOR,SENHA_URA,DATA_EXPIRACAO 
        FROM senha 
        WHERE CODIGO_VENDEDOR IN ('12345','jbcd1','887y1')";

这就是上面代码的作用。

我可以使用 foreach 解决这个问题。像这样:

$teste = explode("\r\n",$_POST['comentario']);

foreach($teste as $teste2){
$sql = "SELECT 
        CODIGO_VENDEDOR,NOME_VENDEDOR,SENHA_URA,
 DATA_EXPIRACAO 
        FROM senha 
        WHERE CODIGO_VENDEDOR = ('$teste2')";

$results = mysqli_query($conexao,$sql);

while($row = mysqli_fetch_assoc($results)) { ?>
 <table>
 <td style="padding:5px"> <?php echo 
 $row["CODIGO_VENDEDOR"];?></td>
 <td style="padding:5px"> <?php echo 
 $row["NOME_VENDEDOR"];?></td>
 <td style="padding:5px"> <?php echo 
 $row["SENHA_URA"];?></td>
 </table>
 
<?php }}
?>