Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/289.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
更改MySQL中的表是否会影响php页面?_Php_Mysql - Fatal编程技术网

更改MySQL中的表是否会影响php页面?

更改MySQL中的表是否会影响php页面?,php,mysql,Php,Mysql,我有一个php页面,可以跟踪用户的登录情况,并将信息存储在phpmyadmin上名为“logins”的表中 现在,它的php代码如下所示 $numlogin=mysql\u num\u行($get\u client); 如果($numlogin==1){ $thisid=mysql\u结果($get\u客户端,0,“id”); $thisfore=mysql_结果($get_client,0,“forename”); $thissur=mysql_结果($get_客户端,0,“姓氏”); $t

我有一个php页面,可以跟踪用户的登录情况,并将信息存储在phpmyadmin上名为“logins”的表中

现在,它的php代码如下所示

$numlogin=mysql\u num\u行($get\u client);
如果($numlogin==1){
$thisid=mysql\u结果($get\u客户端,0,“id”);
$thisfore=mysql_结果($get_client,0,“forename”);
$thissur=mysql_结果($get_客户端,0,“姓氏”);
$thiscomp=mysql\u结果($get\u客户端,0,“companyname”);
$ip=$\u服务器['REMOTE\u ADDR'];
$logdate=日期('Y-m-d H:i:s');
$logyear=日期('Y');
$logmonth=日期('m');
$logqtr=ceil($logmonth/3);
$reslog=mysql_query(“插入登录值('''$myid','$loginemail','$thisfore','$thissur','$thiscomp',”,

“$ip”、“$logdate”、“$logyear”、“$logmonth”、“$logqtr”)或die(“错误91”)
不,您不能用您编写的代码安全地将新列添加到
logins
表中。您的
INSERT
语句没有列出它要插入的列,因此这意味着您必须为所有列提供值。如果更改表列,查询将出错,因为值的数量太多与列数不匹配

这就是为什么在
INSERT
查询中应该始终明确。将其更改为:

$reslog = mysql_query("insert into logins (id, userid, email, forname, surname, comp, ip, logdate, logyear, logmonth, logqtr)
    values ('','$myid','$loginemail','$thisfore','$thissur','$thiscomp',
            '$ip','$logdate','$logyear','$logmonth','$logqtr')") or die("Error 91");
当然,用表的实际列名替换我使用的列名

完成此操作后,您应该能够向表中添加新列,而不会导致代码出错