Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/63.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.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表单问题 桌子{ 字体大小:12px;}_Php_Mysql_Forms - Fatal编程技术网

MYSQL PHP表单问题 桌子{ 字体大小:12px;}

MYSQL PHP表单问题 桌子{ 字体大小:12px;},php,mysql,forms,Php,Mysql,Forms,您应该检查$result是否为结果,而不是false。很有可能您的某个查询触发了错误,您可以使用。您的mysql\u query()调用失败,这就是为什么会出现该错误,因为$result是布尔值FALSE。这可能是因为查询中有语法错误-查询中缺少一个结束单引号” 改变 <style type="text/css"> table { font-size:12px;} </style> <?php //Verbindung require_once (

您应该检查
$result
是否为结果,而不是
false
。很有可能您的某个查询触发了错误,您可以使用。

您的
mysql\u query()
调用失败,这就是为什么会出现该错误,因为
$result
是布尔值
FALSE
。这可能是因为查询中有语法错误-查询中缺少一个结束单引号

改变

    <style type="text/css">
table {
    font-size:12px;}
</style>
<?php

//Verbindung
require_once ("connect/mysql_connect.php"); 
$poll = mysql_connect($hostname_poll, $username_poll, $password_poll) or trigger_error(mysql_error(),E_USER_ERROR);
mysql_select_db ("online_reg");
global $poll;
$sql = "SELECT * FROM `registration_extern_download` WHERE shop='Simmarket'";
$result = mysql_query($sql);


if ($action == 'reset')
    {
       $result = mysql_query("update online_reg set modify = now(), activation_key_1 = '', activation_key_2 = '',activation_key_3 = '' where id = '" . $id . "");

    }


//Ausgabe
echo"<table border='1' style='font-size 5pt'>";


while ($row = mysql_fetch_assoc($result)) {
    echo "<tr>
            <td>$row[id]</td>
            <td>$row[customer_email]</td>
            <td>$row[products_serial]</td>
            <td>$row[activation_key_1]&nbsp;</td>
            <td>$row[activation_key_2]&nbsp;</td>
            <td>$row[activation_key_3]&nbsp;</td>
            <td><form id='form1' name='form1' method='post' action=simmarket.php?action=reset&id=$row[id]><input type='submit' value='Zurucksetzen' name='submit' /></form></td>
        </tr>";


}
echo"</table>";

?>  

…但请注意不要向现实世界中的任何人显示
mysql\u error()
的内容,这仅用于调试目的

编辑


正如outis正确指出的,您已经用
UPDATE
语句的结果覆盖了
$result
变量的内容,因此它将始终是布尔
TRUE
FALSE
。您或者需要重命名第二个
$result
变量(如我更正的示例中所述),或者完全删除它-您可能不需要捕获返回值以供以后使用,因此您可以只包装
mysql\u查询()
调用
if
语句,并在查询时采取适当的行动。

将以下内容放入if语句中

if (!$updateResult = mysql_query("UPDATE `online_reg` SET `modify` = now(), `activation_key_1` = '', `activation_key_2` = '', `activation_key_3` = '' WHERE `id` = '".mysql_real_escape_string($id)."'")) die('MySQL Error: '.mysql_error());
echo”“;
while($row=mysql\u fetch\u assoc($result)){
回声“
$row[id]
$row[客户电子邮件]
$row[产品系列]
$row[激活\u键\u 1]
$row[激活\u键\u 2]
$row[激活\u键\u 3]
";

下面是使用PDO和类(DBConnection)来处理PDO连接和数据库用户凭据的脚本重写

echo"<table border='1' style='font-size 5pt'>";


while ($row = mysql_fetch_assoc($result)) {
    echo "<tr>
            <td>$row[id]</td>
            <td>$row[customer_email]</td>
            <td>$row[products_serial]</td>
            <td>$row[activation_key_1]&nbsp;</td>
            <td>$row[activation_key_2]&nbsp;</td>
            <td>$row[activation_key_3]&nbsp;</td>
            <td><form id='form1' name='form1' method='post' action=simmarket.php?action=reset&id=$row[id]><input type='submit' value='Zurucksetzen' name='submit' /></form></td>
        </tr>";

请注意,调用
mysql\u error
的结果不应输出给非管理员用户,否则在输出HTML时不应使用code.。修复SQL语法错误是不够的,因为运行
UPDATE
语句将用布尔值覆盖
SELECT
的结果,仍然会导致获取失败。@outis我知道,这就是为什么我说“仅用于调试目的!”;-)回想起来,我想我应该更正查询语法或者添加
或die
,但是现在有点晚了……关于
$result
问题,我没有注意到,我会更正我的答案。在
$id
之后是否缺少
'
?mysql驱动程序已经过时,正在被弃用的路上。Sw渴望使用PDO和use,这将修复SQL语句中的语法错误和可能存在的漏洞。不要使用;只选择所需的列。不是合适的字体大小单位–请使用“em”或“%”。可能重复
echo"<table border='1' style='font-size 5pt'>";


while ($row = mysql_fetch_assoc($result)) {
    echo "<tr>
            <td>$row[id]</td>
            <td>$row[customer_email]</td>
            <td>$row[products_serial]</td>
            <td>$row[activation_key_1]&nbsp;</td>
            <td>$row[activation_key_2]&nbsp;</td>
            <td>$row[activation_key_3]&nbsp;</td>
            <td><form id='form1' name='form1' method='post' action=simmarket.php?action=reset&id=$row[id]><input type='submit' value='Zurucksetzen' name='submit' /></form></td>
        </tr>";
<?php
$db = DBConnection::connect(array('db' => 'online_reg'));

if ($action == 'reset') {
   $resetQuery = $db->prepare(
       "UPDATE registration_extern_download
           SET modify = NOW(), activation_key_1 = '', 
               activation_key_2 = '',activation_key_3 = '' 
           WHERE id = ?");
   try {
     $resetSucceeded = $resetQuery->execute(array($id));
   } catch (PDOException $exc) {
       ?><p class="error">Reset failed.</p><?php
       /* A reason for the error & how it can be fixed should be added to output, if appropriate. */
   }
}

# query could be parameterized on 'shop' field and re-used elsewhere
$registrations = $db->query(
    "SELECT id, customer_email, products_serial, 
            activation_key_1, activation_key_2, activation_key_3 
        FROM `registration_extern_download` 
        WHERE shop='Simmarket'");

//Ausgabe
try {
    ?>
    <table class="registration">
      <?php foreach ($registrations as $idx => $row): ?>
        <tr>
          <?php foreach ($row as $field => $value): ?>
            <td><?php echo $value ?></td>
          <?php endforeach; ?>
          <td><form name="form<?php echo $idx; ?>" method="post" 
                    action="simmarket.php?action=reset&id=<?php echo htmlspecialchars($row['id']) ?>">
              <input type="submit" value="Zurucksetzen" name="submit" />
          </form></td>
      <?php endforeach; ?>
    </table>
    <?php
} catch (PDOException $exc) {
    /* Log error & inform user. If error is user-fixable, tell user what went wrong
     * and how to fix it.
     */
}