使用文本框中的多个ID从mysql数据库回复电子邮件[关闭]

使用文本框中的多个ID从mysql数据库回复电子邮件[关闭]

问题描述:

I put together the following script which will search mysql db for certain member ids submitted in a form textbox and write a mail() string for each record found but it does not seem to work, I know I'm connecting because if I remove everything after "Connected Successfully" I will get "Connected Successfully". If I run the script as is, I get a blank screen. Any help with the logic would be apporeciated.

<?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();
?>

FORM PAGE 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>

You want to be doing your operations on your $conn object which is your mysqli connection to your database. Of course I have no way of testing this or checking syntax, but this should get you close.

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();
}