2016-04-19 2 views
-4

Я хочу получить данные из базы данных. vName - это столбец, где vName=ADMIN_EMAIL, и эта строка имеет столбец, имя которого vValue. Существует также столбец, в котором хранится адрес электронной почты, я хочу получить это значение и сохранить его в $toEmail.Получение данных из запроса sql базы данных

Прошу прощения.

Вот мой PHP код

$sqldata=mysqli_query($obj,"SELECT * FROM configuration WHERE  vName='ADMIN_EMAIL'"); 
    $rowcount=mysqli_num_rows($sqldata); 
    // $toEmail = "[email protected]"; 
    $mailHeaders = "From: " . $_POST["userName"] . "<". $_POST["userEmail"] .">\r\n"; 
    if(mail($toEmail, $_POST["subject"], $_POST["content"], $mailHeaders)) { 
     echo "<p class='success'>Mail Sent.</p>"; 
    } else { 
     echo "<p class='Error'>".$toEmail.".</p>"; 
    } 

ответ

0

Вам нужно получить данные после выполнения запроса.

$row = $sqldata->fetch_array(MYSQLI_ASSOC); 
$toEmail= $row['vName'] 
1

Чтобы получить результат запроса, вам необходимо использовать mysql_fetch_assoc(). mysql_num_rows() дает количество строк в результатах запроса. Проверьте код ниже.

$sqldata=mysqli_query($obj,"SELECT * FROM configuration WHERE vName='ADMIN_EMAIL'"); 
$rowcount=mysqli_num_rows($sqldata); 
if($rowcount > 0) 
{ 
    $result = mysqli_fetch_assoc($sqldata); 
    $toEmail = $result['email']; // Your table column value 
    $mailHeaders = "From: " . $_POST["userName"] . "<". $_POST["userEmail"] .">\r\n"; 
    if(mail($toEmail, $_POST["subject"], $_POST["content"], $mailHeaders)) { 
     echo "<p class='success'>Mail Sent.</p>"; 
    } else { 
     echo "<p class='Error'>".$toEmail.".</p>"; 
    } 
    } 
1

Вам просто нужно получить записи из БД, которые вы еще не сделали:

$sqldata=mysqli_query($obj,"SELECT * FROM configuration WHERE vName='ADMIN_EMAIL'"); 
     $rowcount=mysqli_num_rows($sqldata); 
    if($rowcount > 0) 
    { 
     $result = mysqli_fetch_assoc($sqldata); // fetch records 
     $toEmail = $result['vemail']; // Your column name 
     $mailHeaders = "From: " . $_POST["userName"] . "<". $_POST["userEmail"] .">\r\n"; 
     if(mail($toEmail, $_POST["subject"], $_POST["content"], $mailHeaders)) { 
      echo "<p class='success'>Mail Sent.</p>"; 
     } else { 
      echo "<p class='Error'>".$toEmail.".</p>"; 
     } 
    } 
0

Лучше использовать PDO,

try{ 
     $con=new PDO("mysql::host=localhost;dbname=databasename;","username","password"); 
     $query="SELECT * FROM configuration WHERE vName='ADMIN_EMAIL"; 
     $res=$con->query($query); 
     $rows=$res->fetchAll(PDO::FETCH_BOTH); 
     $email=""; 
     foreach($rows as $row) 
     { 
     $email.=$row["useremail"];//you get the user email in the var $email 
     }   
//do what you want .... 
} 
catch(PDOException $e){ 
    die("error:".$e->getMessage()); 
} 
+0

Как это лучше. Пожалуйста, объясните – urfusion

+0

Это личное предпочтение. – Hachachin

+0

Хорошо, тогда это не лучше, если это личное предпочтение, не так ли? – Tommy

Смежные вопросы