很棒的网站,我遇到了一个简单的问题(我确定),我自己解决了这个问题,但我称我的修复是一个错误,而不是一个真正的解决方案,所以我在这里要求一个真正的答案。
我有以下 $sql 字符串可以将一些简单的数据写入 PHP 中的 mysql 数据库:-
$sql="INSERT INTO $db_name.$tbl_name (`game_id` ,`user_id` ,`scores`) VALUES (NULL , $session_id, $scores_csv)";
$scores_csv 包含类似 '60,90,45,26,41,80' 但上面的代码不起作用?如果我用以下代码替换上面的代码,它将起作用:-
$sql="INSERT INTO $db_name.$tbl_name (`game_id` ,`user_id` ,`scores`) VALUES (NULL , $session_id, '60,90,45,26,41,80')";
我回显了 $sql 和带有逗号分隔列表的字符串在第一个代码示例中不包含单引号,但在第二个代码示例中包含单引号,使其工作。
所以它接缝虽然如果我不包含单引号它是一个字符串,但存在数据库不匹配并且数据未存储。
如果我在将 $scores_csv 变量发送到 MYSQL 之前将单引号括起来,那么它确实可以工作,但肯定有更好的解决方案,我如何告诉 Mysql 我的字符串是文本字符串,而不是一堆数字,我确定它很简单,但我以前没有遇到过。
谢谢保罗