Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/297.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 下拉菜单只会给出错误信息_Php_Html_Mysqli - Fatal编程技术网

Php 下拉菜单只会给出错误信息

Php 下拉菜单只会给出错误信息,php,html,mysqli,Php,Html,Mysqli,这就是我使用下拉菜单的方式,如果我使用其中一个作为我的下拉菜单,那么总是出现唯一的错误 它只出现错误,只提供错误,因此我无法继续 PHP if ($stmt = $this->mysqli->prepare('SELECT navn FROM fms_styrkemaal WHERE navn != ?')) { $stmt->bind_param('s', $navn); $navn = $_POST["styrkemaal"]; $stmt->

这就是我使用下拉菜单的方式,如果我使用其中一个作为我的下拉菜单,那么总是出现唯一的错误

它只出现错误,只提供错误,因此我无法继续

PHP

if ($stmt = $this->mysqli->prepare('SELECT navn FROM fms_styrkemaal WHERE navn != ?')) { 
    $stmt->bind_param('s', $navn);
    $navn = $_POST["styrkemaal"];
    $stmt->execute();
    $stmt->bind_result($navn);
    while ($stmt->fetch()) {
        $error = 1;
    }
    $stmt->close();
} else {
    echo 'Der opstod en fejl i erklæringen: ' . $this->mysqli->error;
}
if ($stmt = $this->mysqli->prepare('SELECT navn FROM fms_kon WHERE navn != ?')) { 
    $stmt->bind_param('s', $navn);
    $navn = $_POST["kon"];
    $stmt->execute();
    $stmt->bind_result($navn);
    while ($stmt->fetch()) {
        $error = 1;
    }
    $stmt->close();
} else {
    echo 'Der opstod en fejl i erklæringen: ' . $this->mysqli->error;
}
if ($stmt = $this->mysqli->prepare('SELECT uger FROM fms_uger WHERE uger != ?')) { 
    $stmt->bind_param('s', $uger);
    $uger = $_POST["uger"];
    $stmt->execute();
    $stmt->bind_result($uger);
    while ($stmt->fetch()) {
        $error = 1;
    }
    $stmt->close();
} else {
    echo 'Der opstod en fejl i erklæringen: ' . $this->mysqli->error;
}
html/php

<select name="kon">
<?php
if ($stmt = $this->mysqli->prepare('SELECT id, navn FROM fms_kon')) { 
    $stmt->execute();
    $stmt->bind_result($id, $navn);
    while ($stmt->fetch()) {
    ?>
      <option value="<?php echo $navn;?>"><?php echo $navn;?></option>
    <?php
    }
    $stmt->close();
}
?>
</select>
<select name="uger">
<?php
if ($stmt = $this->mysqli->prepare('SELECT id, uger FROM fms_uger')) { 
    $stmt->execute();
    $stmt->bind_result($id, $uger);
    while ($stmt->fetch()) {
    ?>
      <option value="<?php echo $uger;?>"><?php echo $uger;?></option>
    <?php
    }
    $stmt->close();
}
?>
</select>
<select name="styrkemaal">
<?php
if ($stmt = $this->mysqli->prepare('SELECT id, navn FROM fms_styrkemaal')) { 
    $stmt->execute();
    $stmt->bind_result($id, $navn);
    while ($stmt->fetch()) {
    ?>
      <option value="<?php echo $navn;?>"><?php echo $navn;?></option>
    <?php
    }
    $stmt->close();
}
?>
</select>

1.)您的函数易受SQL注入攻击,在将数据包含在SQL查询中之前,应始终对其进行转义

2.)您正在绑定到一个没有值的变量

3.)您正在进行类似值比较的字符串比较

试试这个:

...
// This is really bad practice...
$navn = $_POST["styrkemaal"];
...
try {
   if ($stmt = $this->mysqli->prepare("SELECT navn FROM fms_styrkemaal WHERE navn like ':v_navn'")) { 
        $stmt->bind_param(':v_navn', $navn, PDO::PARAM_STR);
        $stmt->execute();
        while($row = $stmt->fetch(PDO::FETCH_ASSOC)) {
          print_r($row);
        }
        $stmt->close();
    } else {
        echo 'Der opstod en fejl i erklæringen: ' . $this->mysqli->error;
    }
} catch(PDOException $e) {
    echo 'ERROR: ' . $e->getMessage();
}

@edvinas.me我为我自己在
$error=1