Php 当使用“/”进行连接时,查询不会插入数据库
由于/,无法插入itemcode。但是,如果我使用-instead of/将插入,但我需要使用/Php 当使用“/”进行连接时,查询不会插入数据库,php,mysql,Php,Mysql,由于/,无法插入itemcode。但是,如果我使用-instead of/将插入,但我需要使用/ 样本数据:itemcode:23/xxdd22,name:watchx,正如我在评论中所说;如果您首先连接两个变量,然后在查询中使用新的变量赋值,而不是使用一堆不必要的引号/点等,那么这将更容易 即: 然后做: $new = $num."/".$barcode; 假设itemcode列是VARCHAR而不是INT;这对我们来说是未知的 尽管在这样的情况下,使用预先准备好的语句会更安全、更好,但如果
样本数据:itemcode:23/xxdd22,name:watchx,正如我在评论中所说;如果您首先连接两个变量,然后在查询中使用新的变量赋值,而不是使用一堆不必要的引号/点等,那么这将更容易 即: 然后做:
$new = $num."/".$barcode;
假设itemcode列是VARCHAR而不是INT;这对我们来说是未知的
尽管在这样的情况下,使用预先准备好的语句会更安全、更好,但如果涉及到用户输入的话
这是一个参数化语句的示例,人们在注释中讨论这个语句
values ('$new','$name')
停止在SQL中使用引号,你只会让自己眼睛疲劳。忽略你的解决方案并不完美。你对引号有问题。在我的本地数据库上,这可以正常工作
$params = [ 'itemcode' => "$num/$barcode", 'name' => $name ];
$sql = 'insert into shopping_tbl (itemcode, name) values (:itemcode, :name)';
$stmt = $pdo->prepare($sql);
$stmt->execute($params);
说。即使是这样也不安全!了解使用PDO的语句,并考虑使用PDO,这个问题肯定需要更多的上下文。列类型、错误消息、最后一个$query字符串等。我认为您应该得到一个语法错误。他们应该@JonStirling,但他们要么没有告诉我们是什么,要么没有正确地检查它们。我没有看到您的答案;我正忙着打字。给你更多的权力-
$params = [ 'itemcode' => "$num/$barcode", 'name' => $name ];
$sql = 'insert into shopping_tbl (itemcode, name) values (:itemcode, :name)';
$stmt = $pdo->prepare($sql);
$stmt->execute($params);
$query="insert into shopping_tbl (itemcode,name)values ('".$num."/".$barcode."','".$name."')";