我没有数组,但我得到;“数组到字符串的转换”;在PHP中

我没有数组,但我得到;“数组到字符串的转换”;在PHP中,php,mysql,Php,Mysql,我在mysql(“INSERT”)行中得到错误“Array-to-string-conversion”,并且我已经var\u-dumped了正在使用的每个变量。以下是全部错误: 第33行C:\xampp\htdocs\newresident.php中的数组到字符串转换 但是,我没有看到任何数组,只看到字符串。这可能是电子邮件变量中有@的问题吗 <?php include 'dbinfo.php'; include 'updateinsert.php'; $escapedPost = ar

我在mysql(“INSERT”)行中得到错误“Array-to-string-conversion”,并且我已经
var\u-dump
ed了正在使用的每个变量。以下是全部错误:

第33行C:\xampp\htdocs\newresident.php中的数组到字符串转换

但是,我没有看到任何数组,只看到字符串。这可能是电子邮件变量中有@的问题吗

<?php
include 'dbinfo.php';
include 'updateinsert.php';

$escapedPost = array_map('mysql_real_escape_string', $_POST);

    $firstname       = $escapedPost['fName'];
    $lastname        = $escapedPost['lName'];
    $password1       = sha1($escapedPost['password1']);
    $gender          = $escapedPost['gender'];
    $address1        = $escapedPost['address1'];
    $address2        = $escapedPost['address2'];
    $city            = $escapedPost['city'];
    $state           = $escapedPost['state'];
    $zip             = $escapedPost['zip'];
    $hPhone          = $escapedPost['hPhone'];
    $cPhone          = $escapedPost['cPhone'];
    $wPhone          = $escapedPost['wPhone'];
    $email           = $escapedPost['email'];
    $pEmail          = $escapedPost['pEmail'];

echo $password1;
var_dump($firstname);
var_dump($lastname);
var_dump($password1);
var_dump($gender);
var_dump($address1);
var_dump($address2);
var_dump($city);
var_dump($state);
var_dump($zip);
var_dump($hPhone);
var_dump($cPhone);
var_dump($wPhone);
var_dump($email);
var_dump($pEmail);

mysql_query("CALL sp_User('$email', '$pEmail','$password1', 'Resident')");
//uiUser($hospitalemail,$personalemail,$password,"Resident");
$userid = getUserByEmail($_POST['email']);

mysql_query("INSERT INTO ResidentInfo(UserId, NameFirst, NameLast, NameMiddle, Gender, Photo, Address1, Address2, City, State, ZipCode, PhoneNumberHome, PhoneNumberWork, PhoneNumberCell) VALUES ('$userid', '$firstname', '$lastname', NULL,'$gender', NULL, '$address1','$address2','$city','$state','$zip','$hPhone','$wPhone','$cPhone')");

?>

使用字符串分析器确保您正在传递字符串。还可以使用
is_string()
进行检查。

什么是html元素的性别?您
var_转储了
$userid
之外的所有内容。…哇,您说得对,$userid是一个数组,里面有另一个数组。上次我从表面上相信我朋友的函数。在这里对字符串进行强制转换做什么?如果这是mysql\u real\u escape\u string
的替代方案,那么它将不起作用-字符串中的任何恶意输入都将在施放过程中完好无损!
string(6) "Fname"
string(4) "Lname"
string(40) "cd889c90136db988312a7953bbbbac980de23b03"
string(1) "M"
string(14) "24 Olive Ln."
string(0) ""
string(10) "Kearny"
string(10) "New Jersey"
string(10) "0710907109"
string(15) "e73879728812345"
string(15) "e73879728812345"
string(15) "e73879728812345"
string(15) "worki@yahoo.com"
string(12) "wo@yahoo.com"
$firstname       = (string)$escapedPost['fName'];
$lastname        = (string)$escapedPost['lName'];
...
...