访问由php中的explode函数创建的数组

时间:2016-02-05 19:33:01

标签: php mysql

我是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"在名称列中。除了那个名称和有效的列是可以的。

2 个答案:

答案 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"