Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/231.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
无法使用PHP更新MySQL中的表_Php_Mysql_Html - Fatal编程技术网

无法使用PHP更新MySQL中的表

无法使用PHP更新MySQL中的表,php,mysql,html,Php,Mysql,Html,我刚开始做一个网站。在注册页面的顶部,有一个搜索栏,您可以在其中找到现有用户。找到并选择用户后,它将自动填写注册表中的值。从那里,您可以更新用户信息。或者创建一个新用户。出于某种原因,无论我输入什么值,它都只调用update函数,而不创建新用户。任何帮助都将不胜感激。谢谢 //检查数据库以查看是否存在名和姓的用户 $check_exist=“从职员中选择*,其中firstname='$firstname'和lastname='$lastname'; $exist\U result=mysql\U

我刚开始做一个网站。在注册页面的顶部,有一个搜索栏,您可以在其中找到现有用户。找到并选择用户后,它将自动填写注册表中的值。从那里,您可以更新用户信息。或者创建一个新用户。出于某种原因,无论我输入什么值,它都只调用update函数,而不创建新用户。任何帮助都将不胜感激。谢谢

//检查数据库以查看是否存在名和姓的用户
$check_exist=“从职员中选择*,其中firstname='$firstname'和lastname='$lastname';
$exist\U result=mysql\U查询($check\U exist);
echo“测试存在结果:.$exist\U结果”。
; //如果用户已存在,则更新用户 如果($exist\U结果) { echo“更新函数调用…
”; 对于($i=0;$exist\u row=mysql\u fetch\u数组($exist\u result);$i++) { //获取身份证号码 $ID=$exist_行['ID']; } //更新员工表 mysql_查询(“更新人员集位置='$position',firstname='$firstname',lastname='$lastname', 地址='$address',城市='$city',州='$state',zipcode='$zipcode',电话='$phone',ss='$ss' 其中ID=“$ID”); //更新登录表 mysql_查询(“更新登录集ID='$ID',position='$position',username='$username',password='$password',email='$email'其中ID='$ID'); } //如果数据库中不存在用户,则注册用户 其他的 { echo“插入函数调用…
”; //插入工作人员信息 $insert_staff=“插入员工(职位、姓氏、姓氏、, 地址、城市、州、邮编、电话、ss) 值(“$position”、“$firstname”、“$lastname”、“$address”、“$city”, “$state”、“$zipcode”、“$phone”、“$ss”); mysql\u查询($insert\u staff); //这将从staff获取新创建的unqiue ID号,并将其插入登录表中 $get\u id=mysql\u查询(“从staff中选择* 其中firstname='$firstname'和lastname='$lastname'”; $login\u row=mysql\u fetch\u数组($get\u id); $eID=$login_行['ID']; //插入登录信息 $query2=“插入登录(ID、位置、用户名、密码、电子邮件) 值(“$eID”、“$position”、“$username”、“$password”、“$email”)”; mysql_查询($query2); }

下面是我得到的错误:

Notice: Use of undefined constant myusername - assumed 'myusername' in         /Applications/MAMP/htdocs/cms/manager/insertReg.php on line 9

Deprecated: Function session_is_registered() is deprecated in /Applications/MAMP/htdocs/cms/manager/insertReg.php on line 9

Notice: A session had already been started - ignoring session_start() in /Applications/MAMP/htdocs/CMS/connectdb.php on line 8
TEST first name:ksdfjlsdkjf3242
TEST last name:lkjdslfkjdslkj
TEST exist_result:Resource id #5
Update function called... 

Notice: Undefined variable: ID in /Applications/MAMP/htdocs/cms/manager/insertReg.php on line 55

Notice: Undefined variable: ID in /Applications/MAMP/htdocs/cms/manager/insertReg.php on line 58

Notice: Undefined variable: ID in /Applications/MAMP/htdocs/cms/manager/insertReg.php on line 59

问题是,您正在测试
$exist\u result
,只要查询有效(它返回一个资源并计算为true),它将始终返回
true

您需要计算
$exist\u result
中的行数,并检查
0
行数

我建议切换到PDO/prepared语句,但在您的情况下,您可以使用:

mysql_num_rows($exist_result);

作为对@jeroen的回复,此代码应该有助于@ylhtravis:

if (mysql_num_rows($exist_result)) {
    //error code here
} else {
    //continue
}

谢谢我不知道它总是会变成真的。我刚开始从资源网站学习php。太有趣了!你们这些家伙非常乐于助人,非常棒!再次感谢你@ylhtravis不客气。请注意,严格地说,它不会返回
true
,而是返回一个资源。哦,如果你不介意的话,我有一个问题。它总是返回一个“资源”。这个数字的确切含义是什么?@ylhtravis只是一些内部PHP标识号,用于帮助区分脚本中的不同资源。请记住(尤其是在执行更新和删除时)可以过滤和转义用户提供的任何数据,包括post、get、server、,会话和cookie数据,以从SQL注入中投影自己。