Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/56.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_Database_Sql Update - Fatal编程技术网

Php MySQL数据库未更新

Php MySQL数据库未更新,php,mysql,database,sql-update,Php,Mysql,Database,Sql Update,数据库的输出看起来不错,但更新的输入不会传递到数据库 edit.php-从这里可以正确显示所有值 <?php session_start(); $name = $_SESSION['name']; $sur = $_SESSION['sur']; $pass = $_SESSION['pass']; echo $name.' '.$sur.' '.$pass; //connect $dbh = mysql_connect ("localhost", "xxx_admin", "xxx

数据库的输出看起来不错,但更新的输入不会传递到数据库

edit.php-从这里可以正确显示所有值

<?php
session_start();

$name = $_SESSION['name'];
$sur = $_SESSION['sur'];
$pass = $_SESSION['pass'];

echo $name.' '.$sur.' '.$pass;

//connect
$dbh = mysql_connect ("localhost", "xxx_admin", "xxx") 
       or die ('ERROR!');
       mysql_select_db ("xxx_database"); 

$query="SELECT * FROM client_info WHERE (first='$name' AND last='$sur' AND password='$pass')";
$result=mysql_query($query);


    $id = mysql_result($result,$i,"id");
    $first = mysql_result($result,$i,"first");
    $last = mysql_result($result,$i,"last");
    $phone = mysql_result($result,$i,"phone");
    $mob = mysql_result($result,$i,"mob");
    $fax = mysql_result($result,$i,"fax");
    $email = mysql_result($result,$i,"email");
    $web = mysql_result($result,$i,"web");
    $com = mysql_result($result,$i,"com");
    $add = mysql_result($result,$i,"add");
    $city = mysql_result($result,$i,"city");
    $state = mysql_result($result,$i,"state");
    $zip = mysql_result($result,$i,"zip");
    $zone = mysql_result($result,$i,"zone");
    $office = mysql_result($result,$i,"office");
    $office_num = mysql_result($result,$i,"office_num");
    $ext_mob = mysql_result($result,$i,"ext_mob");
    $ext_phone = mysql_result($result,$i,"ext_phone");
    $ext_office = mysql_result($result,$i,"ext_office");
    $srv = mysql_result($result,$i,"srv");
    $stype = mysql_result($result,$i,"stype");
    $voip = mysql_result($result,$i,"voip");
    $vpass = mysql_result($result,$i,"vpass");
    $regDate = mysql_result($result,$i,"regDate");
    $acct = mysql_result($result,$i,"acct");
    $Nagent = mysql_result($result,$i,"Nagent");
    $agents = mysql_result($result,$i,"agents");
    $password = mysql_result($result,$i,"password");

?>
<html>
<head>
<title></title>
</head>

<body>

<form method="post" action="update.php" name="gen">
<b>Personal Info:</b>
<p>First Name:<input type="text" name="first" size="20" value="<?php echo $first; ?>"/></p>
<p>Last Name:<input type="text" name="last" size="20" value="<?php echo $last; ?>"/></p>
<p>Mob:<input type="text" name="mob" size="20" value="<?php echo $mob; ?>"/>
ext:<input type="text" name="ext_mob" size="4" value="<?php echo $ext_mob; ?>"/></p>
<p>Phone:<input type="text" name="phone" size="20" value="<?php echo $phone; ?>"/>
ext:<input type="text" name="ext_phone" size="4" value="<?php echo $ext_phone; ?>"/></p>
<p>Fax:<input type="text" name="fax" size="20" value="<?php echo $fax; ?>"/></p>
<p>E-mail:<input type="text" name="email" size="35" value="<?php echo $email; ?>"/></p>
<p>Address:<input type="text" name="add" size="40" value="<?php echo $add; ?>"/></p>
<p>City:<input type="text" name="city" size="20" value="<?php echo $city; ?>"/></p>
<p>State:<input type="text" name="state" size="20" value="<?php echo $state; ?>"/></p>
<p>Zip Code:<input type="text" name="zip" size="5" value="<?php echo $zip; ?>"/></p>
<p>Zone:<input type="text" name="zone" size="5" value="<?php echo $zone; ?>"/></p>
<br>

<b>Office Info:</b>
<p>Company:<input type="text" name="com" size="40" value="<?php echo $com; ?>"/></p>
<p>Office Address:<input type="text" name="office" size="40" value="<?php echo $office; ?>"/></p>
<p>Office Num #:<input type="text" name="office_num" size="15" value="<?php echo $office_num; ?>"/>
ext:<input type="text" name="ext_office" size="4" value="<?php echo $ext_office; ?>"/></p>
<p>Website:<input type="text" name="web" size="30" value="<?php echo $web; ?>"/></p><br>

Old password:
<input type="password" size="20" name="oldpassword">
New password:
<input type="password" size="20" name="newpassword">
verify new password
<input type="password" size="20" name="verpassword">

<input type="text" size="20" name="id" value="<?php echo $id; ?>">
<input type="submit" value="Update Database">
</form>




</body>
</html>

  • 首先,我强烈建议您在向数据库发送任何内容之前,先避开用户输入。它将避免使用特殊字符,避免使用关键字扰乱数据库。要做到这一点,只需像这样使用mysql\u real\u escape\u string()

    $ud_first=mysql_real_escape_字符串($_POST['first'])

  • 您应该检查mysqli,因为mysql正在被解密。如果您刚刚开始编写代码,我建议您尽快切换。效率和安全性将提高

  • 添加一个;在查询的最后。将帮助服务器知道它的终点

  • 更改
    或死亡('ERROR!')由或
    死亡(mysql_error())这将回显mysql服务器遇到的最后一个错误。它很可能会告诉你你的问题是什么

  • 我给你这些提示,因为我不明白为什么你的代码不能按预期工作

  • 首先,我强烈建议您在向数据库发送任何内容之前,先避开用户输入。它将避免使用特殊字符,避免使用关键字扰乱数据库。要做到这一点,只需像这样使用mysql\u real\u escape\u string()

    $ud_first=mysql_real_escape_字符串($_POST['first'])

  • 您应该检查mysqli,因为mysql正在被解密。如果您刚刚开始编写代码,我建议您尽快切换。效率和安全性将提高

  • 添加一个;在查询的最后。将帮助服务器知道它的终点

  • 更改
    或死亡('ERROR!')由或
    死亡(mysql_error())这将回显mysql服务器遇到的最后一个错误。它很可能会告诉你你的问题是什么


  • 我给你这些提示,因为我不明白为什么你的代码不能像预期的那样工作。

    因为我不知道你的表结构,试一下这个并进行相应的调试

    $query="UPDATE client_info SET first='$ud_first',
    last='$ud_last',
    phone='$ud_phone',
    mob='$ud_mob',
    fax='$ud_fax',
    email='$ud_email',
    web='$ud_web',
    com='$ud_com',
    add='$ud_add',
    city='$ud_city',
    state='$ud_state',
    zip='$ud_zip',
    zone='$ud_zone',
    office='$ud_office',
    office_num='$ud_office_num',
    ext_mob='$ud_ext_mob',
    ext_phone='$ud_ext_phone',
    ext_office='$ud_ext_office',
    password='$ud_password' WHERE id=$ud_id;";
    
    mysql_query($query) or die(mysql_error());
    

    由于我不知道您的表结构,请尝试此方法并进行相应的调试

    $query="UPDATE client_info SET first='$ud_first',
    last='$ud_last',
    phone='$ud_phone',
    mob='$ud_mob',
    fax='$ud_fax',
    email='$ud_email',
    web='$ud_web',
    com='$ud_com',
    add='$ud_add',
    city='$ud_city',
    state='$ud_state',
    zip='$ud_zip',
    zone='$ud_zone',
    office='$ud_office',
    office_num='$ud_office_num',
    ext_mob='$ud_ext_mob',
    ext_phone='$ud_ext_phone',
    ext_office='$ud_ext_office',
    password='$ud_password' WHERE id=$ud_id;";
    
    mysql_query($query) or die(mysql_error());
    

    有些东西超出了这个问题的范围,但是为什么要分别指定每个结果值呢

    您希望得到一个结果,而$i not set实际上是null,因此它可以工作 也许你可以通过使用

    $r = mysql_fetch_assoc($result);
    foreach($r as $key=>$value){ $$key=$value; }
    
    如果预期或可能有更多行,则必须在foreach循环或类似解决方案中关闭它。另一方面,处理post和保护输入可能也很简单

    $allowed_post_vars=array('city','zip',...); // define ok variables
    foreach($allowed_post_vars as $postvar)// each of them
    { $ud='ud_'.$postvar; // prepare longer name, like $ud_city etc 
      $$ud=mysql_real_escape_string($_POST[$postvar]); //assign it sanitized value
    }
    

    有些东西超出了这个问题的范围,但是为什么要分别指定每个结果值呢

    您希望得到一个结果,而$i not set实际上是null,因此它可以工作 也许你可以通过使用

    $r = mysql_fetch_assoc($result);
    foreach($r as $key=>$value){ $$key=$value; }
    
    如果预期或可能有更多行,则必须在foreach循环或类似解决方案中关闭它。另一方面,处理post和保护输入可能也很简单

    $allowed_post_vars=array('city','zip',...); // define ok variables
    foreach($allowed_post_vars as $postvar)// each of them
    { $ud='ud_'.$postvar; // prepare longer name, like $ud_city etc 
      $$ud=mysql_real_escape_string($_POST[$postvar]); //assign it sanitized value
    }
    

    它说成功是因为只要DB connect工作,它就没有其他选择。试着打印出post值,并确保您实际得到了您应该得到的值,以及对于严重不安全代码的记录-to-mysql_query($query)或die(mysql_error());做一件事,回显您的更新查询并将其粘贴到mysql中,看看是什么错误。它表示成功,因为只要DB connect工作,它就没有其他选项。试着打印出post值,并确保您实际得到了您应该得到的值,以及对于严重不安全代码的记录-to-mysql_query($query)或die(mysql_error());做一件事,回显您的更新查询并将其粘贴到mysql中,看看有什么错误。再三考虑,可能只是“您的某些地方的值没有逃逸”,从而使服务器陷入混乱。主机只提供mysql,但我的主机服务器上仍然没有mysqli再三考虑,它可能只是一个没有逃逸的“某些地方”的值,它会弄乱服务器。主机只提供mysql,但我的主机服务器上仍然没有mysqli