Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/249.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_Database - Fatal编程技术网

MySQL/PHP更新查询未执行

MySQL/PHP更新查询未执行,php,mysql,database,Php,Mysql,Database,我测试了update语句中的变量,并检查了是否建立了数据库连接,但是查询没有运行,您能告诉我代码中的错误吗 for($i=0; $i <= $numcourses; $i++){ echo '<div class="new'.$i.'" id="new'.$i.'"><label>'.$course_names[$i].'</label> <input name="edit'.$i.'" type="submit" value="E

我测试了update语句中的变量,并检查了是否建立了数据库连接,但是查询没有运行,您能告诉我代码中的错误吗

for($i=0; $i <= $numcourses; $i++){
    echo '<div class="new'.$i.'" id="new'.$i.'"><label>'.$course_names[$i].'</label>
    <input name="edit'.$i.'" type="submit" value="Edit" /><input name="delete'.$i.'" type="submit" value="Delete" /><br /></div>';
    $name="edit".$i;    
    if (isset($_POST[$name])){
        echo '<input name="text" type="text" value="'.$course_names[$i].'" /><input name="save'.$i.'" type="submit" value="Save"/>';
    }   
    $name2="save".$i;
    if (isset($_POST[$name2])){
        include "includes/open.php";
            $newname=($_POST['text']);
            $int=$i+1;
            $query = "UPDATE course SET cname = '".$newname."' WHERE cid = '".$int."'";
            mysql_query($query) or die(mysql_error());
            include "includes/close.php";
    }
}

更新:Thanx Marc B,添加或删除错误;向我显示了代码中的错误,一切正常,我已回到正轨。

您在查询调用中没有错误处理:

mysql_query($query) or die(mysql_error());
                   ^^^^^^^^^^^^^^^^^^^^^^

这将告诉您查询执行是否有任何问题。在元级别上,您对数据库非常开放,因此在进一步使用代码之前,您最好先阅读相关内容并解决问题。

您在哪里连接到数据库

使用mysql_连接字符串主机名、字符串用户名、字符串密码';要连接到数据库,然后在使用mysql\u select\u db选择数据库后执行查询


cID是整数吗?在update语句中,在我看来就像一个字符串,尝试回显每个查询,并通过直接在数据库中执行来检查其有效性。首先,您应该删除额外的查询;在$name=编辑$i

那么,您如何发布这些值?我在代码中没有看到属性,因此无法发布

而且,一切都在一个for循环中$newname=$_POST['text'];从未设置过。

也许可以用以下方式代替:

if (isset($_POST[$name2]))
试试这个:

if ($name2!="")

您是否尝试过在数据库sans PHP中运行查询?你收到了什么错误消息…?如果你需要更多信息来帮助我解决这个问题,请让我知道。这就是为什么我要求提供错误消息…好的。。。因此,您正在尝试更新记录,同时使用递增的值。您确定这些“cid”匹配吗?因为您刚刚开始,请忘记所有关于mysql\u查询等的内容。转到MySQLi和prepared语句等。mysql_*的东西都不推荐使用。或者会是soonAaaah,好吧,我不知道。我添加了你的代码,它没有选择任何数据库,因此可能没有建立连接,thanx。去看看我是否能让它工作,将更新。在这种情况下,那将是一个丢失的mysql\u select\u db调用。如果你根本没有连接,它会说没有连接或类似的东西。永远不要假设查询调用成功。即使SQL语句本身是100%有效的,也有太多其他原因导致无法检查失败。我在includes中建立了连接,它在我的代码中丢失,导致了错误。
if ($name2!="")