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

Php mysql表更新没有结果

Php mysql表更新没有结果,php,mysql,sql,wordpress,Php,Mysql,Sql,Wordpress,我制作了一个html表单,用于更新mySQL数据库中我的表中的一些字段,因为成功更新后应将我指向成功页面,否则将显示错误消息。指示错误 我使用表单验证,但到目前为止,表中的字段没有任何变化,它只将我指向一个空白页 以下是表格代码: <html> <body> <form action="http://localhost/wordpress/orgupdate.php" method="post" name="myForm"> N

我制作了一个html表单,用于更新mySQL数据库中我的表中的一些字段,因为成功更新后应将我指向成功页面,否则将显示错误消息。指示错误

我使用表单验证,但到目前为止,表中的字段没有任何变化,它只将我指向一个空白页

以下是表格代码:

<html>
    <body>
    <form action="http://localhost/wordpress/orgupdate.php" method="post" name="myForm">
        Name <input id="name" type="text" name="name" />
        Telephone <input id="telephone" type="text" name="telephone" />
        Fax <input id="fax" type="text" name="fax" />
        Web address <input id="webaddress" type="text" name="webaddress" />
        State <input id="state" type="text" name="state" />
        Address <input id="address" type="text" name="address" />
        <input type="submit"  name= "submit" value="update" />
    </form>
    </body>
</html>


<script type="text/javascript">// <![CDATA[
    /* JS validation code here */

    function validateForm()
    {
        /* Validating name field */
        var x=document.forms["myForm"]["name"].value;
        if (x==null || x=="")
        {
            alert("Name must be filled out");
            return false;
        }
        /* Validating email field */
        var x=document.forms["myForm"]["telephone"].value;

        if (x==null || x=="")
        {
            alert("telephone must be filled out");
            return false;
        }
    }
// ]]>
</script>

名称
电话
传真
网址
陈述
地址
// 
这是我的php文件:

<?php 
//establish connection
$con = mysqli_connect("localhost","xx","xxxx","android_app"); 
//on connection failure, throw an error
if(!$con) {  
    die('Could not connect: '.mysql_error()); 
}

//get the form elements and store them in variables
$name=$_POST['name']; 
$telephone=$_POST['telephone']; 
$fax=$_POST['fax']; 
$webaddress=$_POST['webaddress']; 
$state=$_POST['state']; 
$address=$_POST['address'];

$query= update  islamic_organisation SET (Telephone ='$telephone', Fax ='$fax', WebAddress ='$webaddress', state ='$state', Address ='$address' WHERE  Name  ='$name');

//Redirects to the specified page
header("Location: http://localhost/wordpress/?page_id=857");
?>

有什么想法吗

$query= "update  islamic_organisation SET Telephone ='$telephone', Fax ='$fax', WebAddress ='$webaddress', state ='$state', Address ='$address' WHERE  Name  ='$name'";
$result=mysqli_query($con,$query) or die(mysqli_error());
编辑1:

printf("Affected rows (UPDATE): %d\n", mysqli_affected_rows($con));
编辑1:

printf("Affected rows (UPDATE): %d\n", mysqli_affected_rows($con));
几点:

  • 如果您得到一个空白页,通常意味着某个地方有错误,但由于您关闭了调试,所以没有显示

    通过转到wp-config.php打开调试,并将其设置为true:

    define('WP_DEBUG', true);
    
  • 您的
    $query=update
    行非常奇怪。正如乔恩在书中提到的 注释,您应该在那里得到一个错误
  • 在WordPress中为表单命名字段时,避免使用 像“名字”、“城市”这样的通用词,使用更独特的词
  • 更新:(重要)

    我刚刚注意到您正在将原始用户输入放入SQL语句中。您应该保护查询不受SQL注入的影响

    下面是一个关于mysqli_query的问题的答案,它向您展示了如何做到这一点。

    几点:

  • 如果您得到一个空白页,通常意味着某个地方有错误,但由于您关闭了调试,所以没有显示

    通过转到wp-config.php打开调试,并将其设置为true:

    define('WP_DEBUG', true);
    
  • 您的
    $query=update
    行非常奇怪。正如乔恩在书中提到的 注释,您应该在那里得到一个错误
  • 在WordPress中为表单命名字段时,避免使用 像“名字”、“城市”这样的通用词,使用更独特的词
  • 更新:(重要)

    我刚刚注意到您正在将原始用户输入放入SQL语句中。您应该保护查询不受SQL注入的影响



    下面是一个关于
    mysqli\u query
    的问题,它向您展示了如何执行此操作。

    您的更新查询是错误的,并且函数名可疑。首先,如何在
    $query=update…
    上不出现解析错误,需要正确引用它。其次,您从不执行查询,只将其分配给一个变量。我求求您,在将此代码推送到生产环境(甚至内部)之前,请先阅读SQL注入的相关内容。:)@spacediver但这不适用于工业这只是我最后一年的项目..我打赌这不值得做反SQL注入,对吗?因为这可能需要一些时间,我需要做一些更高优先级的工作..但谢谢你的提示伙计;)您的更新查询错误,并且函数名可疑。首先,如何在
    $query=update…
    上不出现解析错误,需要正确引用它。其次,您从不执行查询,只将其分配给一个变量。我求求您,在将此代码推送到生产环境(甚至内部)之前,请先阅读SQL注入的相关内容。:)@spacediver但这不适用于工业这只是我最后一年的项目..我打赌这不值得做反SQL注入,对吗?因为这可能需要一些时间,我需要做一些更高优先级的工作..但谢谢你的提示伙计;)我试过你的查询,仍然没有更新@user2309720,如果没有返回错误,则您的查询没有问题。您可以检查是否使用
    mysqli\u受影响的行($con)
    更新了某些行,如果更新了零记录,则您的查询未找到任何包含您指定的
    where
    条件的记录。我查看了该表,并且所有字段都完好无损,没有更改现在它会更新,但是当我填写表单时,我不得不在名称字段中的值后留出一个空格,即使我直接在表中的名称字段中输入了一些值,但没有空格!!!!!!!我想知道@用户2309720,也许您在表中的
    name
    列中插入了额外的空间我尝试了您的查询,但仍然没有更新@user2309720,如果没有返回错误,则您的查询没有问题。您可以检查是否使用
    mysqli\u受影响的行($con)
    更新了某些行,如果更新了零记录,则您的查询未找到任何包含您指定的
    where
    条件的记录。我查看了该表,并且所有字段都完好无损,没有更改现在它会更新,但是当我填写表单时,我不得不在名称字段中的值后留出一个空格,即使我直接在表中的名称字段中输入了一些值,但没有空格!!!!!!!我想知道@user2309720,也许您在表中的列
    name
    中插入了额外的空间我已打开调试,未发生任何事情我已按照Amir的脚本更新了查询,也未更新字段添加一些回音“hello”;行来测试页面是否开始在那里执行。现在它正在更新并将我引导到成功页面…但我只是想知道是否需要让它有点专业化,如果用户输入无效的名称,它将显示错误而不是成功页面,我如何做?我更新了我的答案,您必须解决这个问题。关于无效名称,只需测试更新是否失败,然后您就可以使用不同的方法来处理它。我将重定向回表单,甚至可能在URL中添加一些查询字符串,如?status=failed,然后表单将检查它并显示某种消息“name not found”。因此,您将测试“if($\u GET['status']=='failed')…我已打开调试,但未发生任何事件我已按照Amir的脚本更新了查询,也未更新任何字段添加一些echo”您好"; 行来测试页面是否开始在那里执行。现在它正在更新并将我引导到成功页面…但我只是想知道是否需要让它有点专业化,如果用户输入无效的名称,它将显示错误而不是成功页面,我如何做?我更新了我的答案,您必须解决这个问题。关于无效名称j