我是PHP和mySQL的初学者。我用AJAX将字符串传递给PHP,然后在新行之后将字符串拆分。后来我将数组中的每个元素分配给一个变量。我想将变量传递给mySQL数据库。
请假设:
$q = "John \n Doe \n 07589334009 \n john.doe@john.com";
这是我的尝试:
$date = date('Y/m/d H:i:s');
$q = $_REQUEST["q"];
$arr = explode(PHP_EOL, $q);
$name = $arr[0];
$surname = $arr[1];
$phone = $arr[2];
$email = $arr[3];
$sql = "INSERT INTO `database`.`myTable` (`Name`, `Surname`, `Phone`, `Email`, `reg_date`, `Valid`)
VALUES ('$name' , '$surname', '$phone', '$email', '$date', '1');";
$result = $conn->query($sql);
当我查看我的数据库时,我只看到" JohnDoe07589334009john.doe@john.com"在名称列中。除了那个名称和有效的列是可以的。
答案 0 :(得分:2)
试着这样做
$arr = explode("\n", $q);
$name = $arr[0];
$surname = $arr[1];
$phone = $arr[2];
$email = $arr[3];
使用\ n爆炸并在爆炸后从中删除空格
答案 1 :(得分:0)
PHP_EOL
不一定是"\n"
,它是持有服务器平台使用的换行符的常量。因此,它可以在您写入文件系统(如日志)时使用,但不能与"\n"
等效。
因此,您必须将PHP_EOL
替换为"\n"