我没有数组,但我得到;“数组到字符串的转换”;在PHP中
我在mysql(“INSERT”)行中得到错误“Array-to-string-conversion”,并且我已经我没有数组,但我得到;“数组到字符串的转换”;在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
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'];
...
...