【问题标题】:When I insert data, it shows '1' in database - php,sql当我插入数据时,它在数据库中显示'1' - php,sql
【发布时间】:2015-12-24 07:12:19
【问题描述】:

我有一个奇怪的问题。我正在学习准备好的陈述。我创建了一个包含 1 个字段 nama 的简单页面和一个包含 nama 列的表。我只是想看看数据进去了。当我按下提交按钮时,表中有数据,但每次我插入数据时它都显示1。所有行显示相同的数字。谁能指导我完成这个?

<?php

/**
 * Start the session.
 */
session_start();

require 'connect-test.php';

$nama= isset($_POST['nama']);

$stmt=$conn->prepare("INSERT INTO test (nama) VALUES (?)");
$stmt->bind_param("s", $nama);
$stmt->execute();
if (!$stmt)
{ printf("Errormessage: %s\n", $mysqli->error);}    

$stmt->close();
$conn->close();

?> 

<html>
<body>  
<form name="form2" method="post" action="test-deletenanti.php">
  <p>Name :
    <input type="text" name="nama" id="nama">
  </p>
  <p>
    <input type="submit" name="button" id="button" value="Submit">
  </p>  
</form>       
</body>
</html>

【问题讨论】:

    标签: php sql mysqli


    【解决方案1】:

    改变

    $nama = isset($_POST['nama']);
    

    到:

    $nama = $_POST['nama'];
    

    isset 返回 truefalse 取决于是否设置了变量,所以这就是您要放入 $nama 的内容,而不是输入的实际值。

    您应该在整个事情的 if 语句中使用 isset()

    if (isset($_POST['nama'])) {
        $nama = $_POST['nama'];
    
        // rest of code to insert into DB
    }
    

    【讨论】:

      【解决方案2】:

      isset()

      如果 var 存在并且值不是 NULL,则返回 TRUE,FALSE 否则。

      您的条件为 TRUE 并将其设置为 1

      $nama= isset($_POST['nama']);
      

      改成

      if (isset($_POST['nama'])) {
          $nama = $_POST['nama'];
      
              $stmt = $conn->prepare("INSERT INTO test (nama) VALUES (?)");
              $stmt->bind_param("s", $nama);
              $stmt->execute();
              if (!$stmt) {
                  printf("Errormessage: %s\n", $mysqli->error);
              }
              $stmt->close();
              $conn->close();
          }
      

      【讨论】:

      • woww..tq to all.. 有没有办法可以勾选并接受以上所有答案??
      • 还有一件事..我运行了脚本..我得到了错误“未定义的索引:nama ..”
      • 我想把这个..我已经声明了变量... "$nama = $_POST['nama'];"
      • 这次数据通过了..但是未定义的索引...我认为它已经在上面声明了。
      • opps..我的坏..问题解决了..上面已经有一个“isset”来删除未定义的索引错误..tqs ..
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-04-06
      相关资源
      最近更新 更多