Php MySQLi Insert语句为变量放置NULL
因此,我有以下代码,用于将一行添加到应答表中,除了尝试在Php MySQLi Insert语句为变量放置NULL,php,mysqli,insert,Php,Mysqli,Insert,因此,我有以下代码,用于将一行添加到应答表中,除了尝试在品牌中添加值时,所有代码都有效: $brand = 'Central'; function new_respondent() { global $link; $proc = mysqli_prepare($link, "INSERT INTO trespondent (brand, code) VALUES (?, uuid());"); mysqli_stmt_bind_param($pr
品牌中添加值时,所有代码都有效:
$brand = 'Central';
function new_respondent() {
global $link;
$proc = mysqli_prepare($link, "INSERT INTO trespondent (brand, code) VALUES (?, uuid());");
mysqli_stmt_bind_param($proc, "s", $brand);
mysqli_stmt_execute($proc);
$respondent_id = mysqli_insert_id($link);
mysqli_stmt_fetch($proc);
mysqli_stmt_close($proc);
mysqli_clean_connection($link);
}
此代码有效(在一定程度上)在表中添加一行并添加到UUID
中没有问题,但品牌
将以NULL
的形式进入-我正在尝试确定我是否遗漏了一些非常明显的内容
欢迎提出任何建议。您需要将$brand
添加到您的全局
,因为它不在功能范围之内:
global $link, $brand;
或者,您可以修改函数以接受$brand
作为参数:
function new_respondent($brand) {
...
}
你在滥用全局变量。只需将内容作为函数参数传递。function new\u responder()
=>function new\u responder($link,$brand)
并传递这些参数global
是一种糟糕的方法。“你在滥用全局变量。”-你能详细说明一下吗?@Homer_J Qirel刚刚举了一个例子。谢谢你……过去60分钟我一直在看这个,看不到它!!!啊!