>我整理了以下脚本,该脚本将在 mysql db 中搜索在表单文本框中提交的某些成员 ID,并为找到的每条记录编写一个 mail() 字符串,但它似乎不起作用,我知道我正在连接,因为如果我在"成功连接"后删除所有内容,我将得到"成功连接"。如果我按原样运行脚本,则会出现空白屏幕。任何对逻辑的帮助都将不胜感激。
<?php
$servername = "";
$username = "";
$password = "";
$db = "";
// Create connection
$conn = new mysqli($servername, $username, $password, $db);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
echo "Connected Successfully";
if(isset($_POST['Submit'])) {
$MemberIDs = $_POST['MemberIDs']; // contains the values "100,107"
$SearchIDs = array($MemberIDs);
$SearchStr = implode(',', $SearchIDs); // returns 100,107
$sql = "SELECT * FROM members where id in ({$SearchStr})";
$sql->execute();
$raw_results = $sql->fetchAll();
$num_rows = count($raw_results);
if($num_rows > 0 ){
while($results = $sql->fetch($raw_results)) {
echo "mail(".$results['name']." <".$results['requestemail'].", $Subject2, $message2, $headers2);";
}
else
{
echo "No results";
}
}
}
$conn->close();
?>
表单页 HTML
<form name="test" action="test-search.php" method="POST">
<input id="MemberIDs" name="MemberIDs" type="text" value="100,107">
<input type="submit" name="Submit" value="SUBMIT" />
</form>
您希望对$conn对象进行操作,该对象是与数据库的mysqli连接。当然,我无法测试或检查语法,但这应该可以让您接近。
if(isset($_POST['Submit'])) {
// Create connection
$conn = new mysqli($servername, $username, $password, $db);
// Check connection
if ($conn->connect_error) {
die("Connection failed: " . $conn->connect_error);
}
echo "Connected Successfully";
$MemberIDs = $_POST['MemberIDs']; // contains the values "100,107"
$SearchIDs = array($MemberIDs);
$SearchStr = implode(',', $SearchIDs); // returns 100,107
$sql = "SELECT * FROM members where id in ({$SearchStr})";
$results = $conn->query($sql);
if( $results->num_rows > 0 ) {
while($row = $results->fetch_assoc()) {
echo 'mail('.$row['name'].');';
}
}
else {
echo "No results";
}
$results->free();
$conn->close();
}