【发布时间】:2017-08-23 20:16:28
【问题描述】:
所以 PHP 脚本实际上与服务器建立了连接,但不知何故 localhost 的数据库没有填满。我可能做错了什么?
脚本.php
<?php
$link = mysqli_connect("127.0.0.1", "root", "", "testdb");
if (!$link) {
echo "Error: Unable to connect to MySQL." . PHP_EOL;
echo "Debugging errno: " . mysqli_connect_errno() . PHP_EOL;
echo "Debugging error: " . mysqli_connect_error() . PHP_EOL;
exit;
}
echo "Success: A proper connection to MySQL was made! The my_db database is
great." . PHP_EOL;
echo "Host information: " . mysqli_get_host_info($link) . PHP_EOL;
$klas = isset($_POST['klasDown']);
$naam = isset($_POST['naamTxt']);
$stmt = $link->prepare("INSERT INTO resultaten (Klas, Naam) VALUES (?, ?");
if (!$stmt) {
echo "false";
} else {
$stmt->bind_param("ss", $klas, $naam);
$stmt->execute();
}
mysqli_close($link);
?>
HTML:
<form id="myForm" method="post" action="script.php">
Naam: <input name="naamTxt" type="text" maxlength="512"
id="naamTxt" class="searchField"/> <br>
Klas: <select name="klasDown">
<option value="H4A" selected="selected">H4A</option>
<option value="H4B" >H4B</option>
<option value="H4C">H4C</option>
<option value="H4C">H4D</option>
<option value="H4C">V4A</option>
<option value="H4C">V4B</option>
<option value="H4C">V4C</option>
<option value="H4C">V4D</option>
</select>
<div class="row">
<div class="col-4">1. Kies 1/5 </div>
<div class="col text-center"><input type="radio" name="v1" id="v1_1"
value="Helemaal mee oneens"></div>
<div class="col text-center"><input type="radio" name="v1" id="v1_2"
value="Deels oneens"></div>
<div class="col text-center"><input type="radio" name="v1" id="v1_3"
value="Neutraal"></div>
<div class="col text-center"><input type="radio" name="v1" id="v1_4"
value="Deels mee eens"></div>
<div class="col text-center"><input type="radio" name="v1" id="v1_5"
value="Helemaal mee eens"></div>
</div>
<input type= "submit" style="text-align: center"
onclick="bereken()">
</form>
^ 上面是 Html 表单
Bereken() 函数:
function bereken() {
var e = 0;
var c = 0;
if(document.getElementById('v1_1').checked) {
c = c - 0
}else if(document.getElementById('v1_2').checked) {
c += 1;
}else if(document.getElementById('v1_3').checked) {
c += 2;
}else if(document.getElementById('v1_4').checked) {
c += 3;
}else if(document.getElementById('v1_5').checked){
c += 4;
}
var klas = li.options[li.selectedIndex].value;
var naam = document.getElementById('searchTxt').value;
alert(klas + ", " + naam);
}
^ 这是 Javascript bereken() 函数。 显然代码太多,所以不得不添加一些文字。
【问题讨论】:
-
这与phpmyadmin无关。
-
@SLaks 你能解释一下吗?
-
PHPMyAdmin 不是数据库。它是 MySQL 数据库的 Web 界面。
-
注意:
mysqli的面向对象接口明显不那么冗长,使代码更易于阅读和审核,并且不容易与过时的mysql_query接口混淆。在您对程序风格投入过多之前,值得转换一下。示例:$db = new mysqli(…)和$db->prepare("…”)过程接口是 PHP 4 时代引入mysqliAPI 时的产物,不应在新代码中使用。您在这里无缘无故地混合和匹配样式。尝试并专门使用较新的表单。 -
一致性很重要。在编程中,每个字符都很重要,而由混淆或拼写错误引起的简单错误通常需要数小时或数天才能消除。尽量让事情有条理,尽可能保持一致,这样你就不会犯这样的愚蠢错误。