English 中文(简体)
基于条件的更新表格( While Loop)
原标题:Update table based on condition (While Loop)

所以,我试图更新我的表格 依据一个单数参数:

输入日期字段必须为空白 。

我想随机选择 50 行, 并更新空白所有者ID 字段到“ 测试者”

这就是我有的:

<?php
include("includes/constants.php");
include("includes/opendb.php");



$query = "SELECT * FROM contacts WHERE dateEntered=   ORDER BY RAND() LIMIT 50";
$result = mysql_query($query) or die(mysql_error());

while($row = mysql_fetch_assoc($result)){
        $firstid = $row[ id ];

        $query2 = mysql_query("UPDATE contacts 
                        SET ownerID =  Tester  
                   WHERE id =  $firstid ");

        $result2 = mysql_query($query2) or die(mysql_error());

        }

?>

它将更新一个记录,然后戒掉,给我:

You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near  1  at line 1

选择记录的第一个部分效果很好,它的查询2不会更新所有50个记录,只有一个。也许我写错了。

问题回答

Mysql_query 只需要一次

    $query2 = mysql_query("UPDATE contacts 
                    SET ownerID =  Tester  
               WHERE id =  $firstid ");

    $result2 = mysql_query($query2) or die(mysql_error());

    $result2 = mysql_query("UPDATE contacts 
                    SET ownerID =  Tester  
               WHERE id =  $firstid ");

这些答案是现时的,所以我只补充一些补充信息和建议。当你第一次询问 Mysql 时, 正在将$query1 设置为结果资源, 用于

   $query1 = mysql_query("UPDATE contacts SET ownerID =  Tester  WHERE id =  $firstid ");

返回 1 (Boolean TRUE) 的结果,这就是为什么您的第二个查询失败的原因, 原因是“ 1” 不是有效的 Mysql 查询字符串。 正如 Greg P 所说, 您可以通过删除第二 Mysql 查询来修正当前脚本 。

但是,你可以完全改进剧本, 并且通过使用这个来减少Sql电话。

    <?php

    include("includes/constants.php");
    include("includes/opendb.php");

    $query = "UPDATE contacts SET owenerID= Tester  WHERE dateEntered=   ORDER BY RAND() LIMIT 50";
    $result = mysql_query($query) or die(mysql_error());




相关问题
SQL SubQuery getting particular column

I noticed that there were some threads with similar questions, and I did look through them but did not really get a convincing answer. Here s my question: The subquery below returns a Table with 3 ...

please can anyone check this while loop and if condition

<?php $con=mysql_connect("localhost","mts","mts"); if(!con) { die( unable to connect . mysql_error()); } mysql_select_db("mts",$con); /* date_default_timezone_set ("Asia/Calcutta"); $date = ...

php return a specific row from query

Is it possible in php to return a specific row of data from a mysql query? None of the fetch statements that I ve found return a 2 dimensional array to access specific rows. I want to be able to ...

Character Encodings in PHP and MySQL

Our website was developed with a meta tag set to... <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" /> This works fine for M-dashes and special quotes, etc. However, I ...

Pagination Strategies for Complex (slow) Datasets

What are some of the strategies being used for pagination of data sets that involve complex queries? count(*) takes ~1.5 sec so we don t want to hit the DB for every page view. Currently there are ~...

Averaging a total in mySQL

My table looks like person_id | car_id | miles ------------------------------ 1 | 1 | 100 1 | 2 | 200 2 | 3 | 1000 2 | 4 | 500 I need to ...

热门标签