您好我已经设法将此脚本放在一起作为newbe。我将脚本分成两部分,每个部分单独工作,但是当把它放在一起时,当我把WHERE作为一个可变的值时,它就不会工作了。
(错误到处的行/ shortcode.php(15)的原因是因为它运行在php wordpress插件上,但正如我所说的那样,各个部分的工作原理)
有人可以告诉我如何传递该值
$myvalue
并在脚本的第二部分中打开连接,而不会在连接部分上出现错误。该值确实超过了varible,但却出错。
以下是我得到的错误:
警告:mysqli_query():无法在/home/asports/public_html/calendar/wp-content/plugins/php-everywhere/shortcode.php(15)中获取mysqli:eval()'第34行的代码
警告:mysqli_error():无法在/home/asports/public_html/calendar/wp-content/plugins/php-everywhere/shortcode.php(15)中获取mysqli:eval()'第52行的代码
错误:无法执行SELECT men_slope FROM allcourses WHERE id =' 3'。
警告:mysqli_close():无法在/home/asports/public_html/calendar/wp-content/plugins/php-everywhere/shortcode.php(15)中获取mysqli:eval()' d代码在第56行
//第一部分
<?php
require_once(
$_SERVER['DOCUMENT_ROOT'].'/calendar/courses/admin/connect.php');
?>
<form method=post>
<select name="myvalue">
<?php
// Attempt select query execution
$sql = "SELECT id, Name, color FROM allcourses";
$sql = mysqli_query($link, $sql);
while ($row = $sql->fetch_assoc()){
echo "<option value='".$row['id']."'>".$row['Name'] . " (" . $row['color'].
")" . "</option>";
}
// Close connection
mysqli_close($link);
$myvalue=$_POST['myvalue'];
$myhdc=$_POST['hdc'];
?>
</select>
<br />
<p>Handicap: </p>
<input class="tex" type="text" name="hdc"\></input>
<br />
<input type=submit>
</form>
//第二部分
<?php
// Attempt select query execution
$sqll = "SELECT men_slope FROM allcourses WHERE id='$myvalue'";
if($result = mysqli_query($link, $sqll)){
if(mysqli_num_rows($result) > 0){
while($row = mysqli_fetch_array($result)){
echo "<tr>";
echo "<td>" . $row['men_slope'] . "</td>";
echo "</tr>";
}
// Free result set
mysqli_free_result($result);
} else{
echo "No records matching your query were found.";
}
} else{
echo "ERROR: Could not able to execute $sqll. " . mysqli_error($link);
}
// Close connection
mysqli_close($link);
?>
答案 0 :(得分:1)
问题是您在第一部分中致电mysqli_close($link);
。然后,当您尝试在第二部分中执行查询时,链接将关闭,因此您无法再使用它。
IHMO,致电mysqli_close()
通常并不重要。脚本结束时,连接将自动关闭。因此,除非您的脚本在完成所有数据库查询后运行了很长时间,否则它将不会长时间闲置。