所以我得到" 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>
<?
?>
最诚挚的问候!
答案 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
的攻击