2013-06-03 187 views
-1

我是PHP的新手,只是尝试简单的形式,但有问题与insert.php页面 首先我的数据库包括4记录(ID,名称,电话号码,日期)id列是汽车增量页面。php简单插入表单

我创建显示信息页面调用索引PHP它的工作做好 但问题是insert.php页面,页面没有加载,不能内移数值,去看看在指数PHP页面新的插入值

<?php 
     if(isset($_post['name'])){ 
      $mysqli = new mysqli('localhost','root','','interdet'); 
      $statement =$mysqli->prepare("INSERT INTO detectives(name)VALUES(?,?)"; 
      $statement->bind_param('ss',$_POST['name']); 
      $statement->execute(); 
      echo "Done! <a href='index.php'>Go here see new detective </a>"; 

     } 
     else { 
      ?> 
      <form action="insert.php" method="POST"> 
      <p>Name : <input type="text" name="name" /> <P> 
      <p><input type="submit"/></p> 
      </form> 
<?php } ?> 
+0

那么'phonenumber'和'date'呢?你没有插入它们,它们是否有默认值?或者他们是否允许'NULL' –

+0

是你的形式和你插入SQL在同一页? –

+0

问题在哪里?你试图解决什么问题?你试图找出什么,问题是什么? – Alexxus

回答

0

我很抱歉,但看你的代码,我觉得一切都很好只是我不明白这行:

$statement =$mysqli->prepare("INSERT INTO detectives(name)VALUES(?,?)"; 

Prepare opens the bracket (but doesn't close it) 

可能是这个问题吗?

+0

谢谢你:)现在的工作 –

+0

但数据没有插入db –

+0

@ChamaraMadhushanka:那么......你为什么接受这个答案是正确的?请阅读我的回答,我敢打赌,这是你的问题。 –

2

起初glence,我可以告诉你,你试图绑定两个参数,但你只绑定一个。

匆匆一瞥,您在准备中也缺少一个右括号。

$statement =$mysqli->prepare("INSERT INTO detectives(name)VALUES(?,?)"); 
//                ^^^ ? 
$statement->bind_param('ss',$_POST['name']); 
//      ^^ ^^^^^^^^^^^^^^ ??? 
+0

@ChamaraMadhushanka:如果此答案解决了您的问题,请考虑通过点击答案评分下的大绿色勾号标记(✔)进行upvoting和接受。 –

+0

我编辑但不工作 –

0

您在一列中插入“名称”,但您绑定了2个值。我认为正确的语法是:

$statement =$mysqli->prepare("INSERT INTO detectives(name)VALUES(?)"); 
    $statement->bind_param('s',$_POST['name']); 
    $statement->execute();