我没有收到此错误:mysqli_error()

时间:2015-01-13 21:37:01

标签: php mysql

所以我得到" mysqli_error()预计在第23行的C:\ xampp2 \ htdocs \ tidrapport.php中给出了1个参数,并且我尝试了很多不同的解决方案在搜索时发现...我不是特别擅长mysql和东西......所以..是啊..我不知道atm ..这里的一点帮助会很棒......

我不知道此代码中是否还有其他错误,但我没有比这更多的错误......

嗯......这里是我编写的代码:

<?php
error_reporting(E_ALL);
if ($_SERVER["REQUEST_METHOD"] == "POST")
{
  if ($_POST["ordernr"] == "" || $_POST["ritnr"] == "" || $_POST["antal"] == "" ||              $_POST["starttid"] == "" || $_POST["sluttid"] == "" || $_POST["person"] == "")
    mysql_error("FEL!", "Du missade att fylla i något fält!");

  $error = "felaktigheter";
  $ordernr = $_POST["ordernr"];
  $ritnr = $_POST["ritnr"];
  $antal = $_POST["antal"];
  $starttid = $_POST["starttid"];
  $sluttid = $_POST["sluttid"];
  $person = $_POST["person"];
  $tillagd = time();
 $link = mysqli_connect("localhost:3306", "root", "", "tidrapportering");
if (!$link) {
die("Could not connect: " . mysql_error());
}

  @mysql_query("INSERT INTO `tid` (tillagd, ordernr, ritnr, antal, starttid, sluttid, person)   VALUES($tillagd, $ordernr, $ritnr, $antal, $starttid, $sluttid, $person)") or die(mysqli_error());
  $res = @mysql_query("SELECT * FROM tid WHERE ordernr=$ordernr");
  $arr = mysql_fetch_row($res);
  if (!$arr)
    mysql_error();

  die;
}



  ?>

    <form method="post" action="tidrapport.php">
    <table border="1" cellspacing="0" cellpadding="5">
    <tr><td class="rowhead">Ordernummer</td><td><input type="text" name="ordernr" size="40" />  </td></tr>
    <tr><td class="rowhead">Ritningsnummer</td><td><input type="text" name="ritnr" size="40" /></td></tr>
      <tr><td class="rowhead">Antal</td><td><input type="text" name="antal" size="40" /></td></tr>
    <tr><td class="rowhead">Starttid</td><td><input type="text" name="starttid" size="40" /></td></tr>
    <tr><td class="rowhead">Sluttid</td><td><input type="text" name="sluttid" size="40" /></td></tr>
    <tr><td class="rowhead">Anställd</td><td><input type="text" name="person" size="40" /></td></tr>
    <tr><td colspan="2" align="center"><input type="submit" value="Lägg till Rapport" class="btn" /></td></tr>
    </table>


<?
?>
最诚挚的问候!

1 个答案:

答案 0 :(得分:2)

发现差异:

 $link = mysqli_connect("localhost:3306", "root", "", "tidrapportering");
              ^---

die("Could not connect: " . mysql_error());
                                 ^---

  @mysql_query("INSERT INTO `tid` (tillagd, ordernr, ritnr, antal, starttid, sluttid, etc..
        ^---

你不能像这样混合使用DB库。在一个中建立的句柄在其他库中不可用。

确定。好......进一步的错误:

1)您还没有建立数据库连接,那么为什么要调用数据库错误方法来报告表单提交的问题?

mysql_error("FEL!", "Du missade att fylla i något fält!");

2)为什么要将字符串传递给此错误函数调用? RTM:http://php.net/mysql_error它需要 ONE 参数:一个mysql数据库连接句柄

3)同样,RTM:http://php.net/manual/en/mysqli.error.php。 mysqli_error需要一个连接句柄作为参数 - 你传递的是NOTHING:

[..snip..]$person)") or die(mysqli_error());
                                         ^---where's there required argument?

4)您容易受到sql injection attacks

的攻击