gpt4 book ai didi

插入 SQL 语句所需的 PHP 变量

转载 作者:行者123 更新时间:2023-11-29 00:43:38 24 4
gpt4 key购买 nike

几天来,我一直在尝试为我希望执行的内容获取正确的格式。

目标是将行插入到先前创建的 MYSQL 表中。该表可能是字符串和整数的混合,正如我们所知,MYSQL 需要在字符串周围加上引号才能插入,而对于整数则不需要。那么,将一些东西插入到一个整数和两个字符串的表中的正确方法是:

insert into table values(number, "string", "string");

我希望值是 php 变量。但是,当我输入变量时,当我 checkin MYSQL 时,代码将不再产生结果。该表将被创建,但它将是空的。所以一定是这个语句不起作用。

这是我插入它的函数的实际代码:

function insertRow($db, $new_table, $ID, $Partner, $Merchant)

$insert = "INSERT INTO ".$new_table. " VALUES (1,'Partner','Merchant')";

$q = mysqli_query($db, $insert);

它的工作原理是这样的,但是我会根据我选择的次数为每一行用 1、合作伙伴和商家填充整个表格。

我也尝试过这样的几种变体

function insertRow($db, $new_table, $ID, $Partner, $Merchant)

$insert = "INSERT INTO ".$new_table. " VALUES(" .$ID. "," ."'$Partner'". ","."'$Merchant'".")";

$q = mysqli_query($db, $insert);

我也试过这些:

Passing PHP variables into MySQL

但没有人真正将表格插入行中。

有没有人有其他方法可以做到这一点?

最佳答案

您需要非常简单地开始调试,然后从那里开始工作。我的第一个猜测是您没有正确设置传递给函数的参数值。

试试这个:

function insertRow($db, $new_table, $ID, $Partner, $Merchant) {
$ID=1;
$Partner = 'Partner';
$Merchant = 'Merchant';
$insert = "INSERT INTO $new_table " .
" VALUES($ID,'$Partner','$Merchant')";
$q = mysqli_query($db, $insert);
if (!$q) die(mysqli_error($db));
}

那有用吗?如果是这样,那么问题是您的参数值设置不正确。

请注意,我还在其中添加了一些错误报告 ;-)

但请注意,像这样创建 SQL 并不是一个好主意。它对 SQL 注入(inject)是开放的。更好地研究使用准备好的语句:

  $prep = mysqli_prepare($db, "insert into " . $new_table . " values (?,?,?)");
$prep->bind_param("iss", $ID, $Partner, $Merchant);
$prep->execute();

参见 PHP documentation on mysqli_prepare了解更多详情。

关于插入 SQL 语句所需的 PHP 变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11192859/

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