2015-07-01 7 views
1

Я пытаюсь извлечь данные из базы данных MySQL с помощью PHP-скрипта с сервера. Я могу получить данные из базы данных, но я не получаю точной строки, присутствующей в базе данных. В результате полученные пробелы между словами обрезаются, а результат не совпадает со строкой, присутствующей в базе данных.Как получить данные из базы данных MySql с помощью PHP

Например:

Значение вставляется к базе данных, как показано ниже:

SELENIUM INTERVIEW QUESTIONS: 
What is Selenium? 
Selenium is a set of tools that supports rapid development of test automation scripts for web based applications. Selenium testing tools provides a rich set of testing functions specifically designed to fulfill needs of testing of a web based application. 
What are the main components of Selenium testing tools? 
Selenium IDE, Selenium RC and Selenium Grid 

Результат, полученный из запроса базы данных показывает данные, как:

SELENIUM INTERVIEW QUESTIONS:What is Selenium?Selenium is a set of tools that supports rapid development of test automation scripts for web basedapplications. Selenium testing tools provides a rich set of testing functions specifically designed to fulfill needs of testing of a web based application.What are the main components of Selenium testing tools?Selenium IDE, Selenium RC and Selenium Grid 

может любой сообщите мне, какие изменения я должен внести в свой скрипт для получения данных, как это показано в базе данных из моего запроса. Я использую mysql_real_escape_String при вставке, и использую stripslashes при извлечении данных из базы данных.

Ниже мой PHP скрипт:

Вставить скрипт:

<?php 
$servername = "localhost"; 
$username = "root"; 
$password = ""; 
$dbname = "iFocusBlogs"; 


     $obtainedName = urldecode($_POST['enteredName']); 
     $obtainedUserName = urldecode($_POST['enteredUserName']); 
     $obtainedsubjectText = urldecode($_POST['subjectText']); 
     $obtaineddetailsText = urldecode($_POST['detailsText']); 
     $status = urldecode($_POST['status']);   

// Create connection 
$conn = new mysqli($servername, $username, $password, $dbname); 
// Check connection 
if ($conn->connect_error) { 
    die("Connection failed: " . $conn->connect_error); 
} 



$obtainedsubjectText = $conn->real_escape_string($obtainedsubjectText); 
$obtaineddetailsText = $conn->real_escape_string($obtaineddetailsText); 


$sql = "INSERT INTO AndroidTable (Name, UserName, Subject, Details, Status) 
VALUES ('$obtainedName', '$obtainedUserName', '$obtainedsubjectText', '$obtaineddetailsText', '$status')"; 

mysqli_commit($conn); 

if ($conn->query($sql) === TRUE) { 
    echo "Inserted Post sent to Moderator for Approval. Once approved from Moderator, Post will be displayed"; 
} else { 
    echo "Error: " . $sql . "<br>" . $conn->error; 
} 

$conn->close(); 
?> 

выборки сценария:

<?php 
$servername = "localhost"; 
$username = "root"; 
$password = ""; 
$dbname = "iFocusBlogs"; 



$obtainedUserName = 1;   

// Create connection 
$conn = new mysqli($servername, $username, $password, $dbname); 
// Check connection 
if ($conn->connect_error) { 
    die("Connection failed: " . $conn->connect_error); 
} 


$sql="SELECT Name, Subject FROM AndroidTable WHERE Status ='" .$obtainedUserName. "'"; 
$result=mysqli_query($conn,$sql); 


while ($row = mysqli_fetch_row($result)) { 
foreach($row as $rows){ 
    for($i=0;$i<count($rows);$i++){ 
    echo stripslashes($rows) . " "; 
     $n=$i; 

    } 

} 
    echo "<br/>"; 

    } 


$conn->close(); 
?> 

Пожалуйста, дайте мне знать, что ошибка я делаю в моем сценарии. Все предложения приветствуются. Если потребуется дополнительная информация, пожалуйста, дайте мне знать. Заранее спасибо.

+0

Di ваш 'name' столбец содержит вопросы и' столбец содержит Subject' есть соответствующие ответы? –

+0

Я думаю, что ваш скрипт просто возвращает то, что находится в базе данных. В HTML разрывы строк игнорируются, так как вам придется либо обернуть ответ в тегах

..
, либо заменить разрывы строк на тег

+0

@anantkumarsingh Нет, имя - это имя и тема человека, в котором содержатся сообщения пользователя – Keshav1234

ответ

1

Вы можете использовать nl2br, который преобразует символы новой строки в <br>, поэтому везде, где вы вторя, вам просто нужно вызвать nl2br функцию, см пример ниже:

echo nl2br(stripslashes($rows)) . " "; 

EDIT:

Чтобы получить пробелы вместо <br>, вы можете просто заменить новый символ линии \n пробелом или чем-либо, что вы хотели бы заменить, см. Пример ниже:

echo str_replace("\n", " ", stripslashes($rows)) 

EDIT 2:

echo stripslashes(str_replace(array('\r\n', '\n'), "<br>", $rows)); 
+0

Хорошо. Я попробую и дам вам знать. – Keshav1234

+0

Есть ли функция для отображения пробелов вместо
Мне нужно отобразить этот текст в приложении для Android, поэтому будет полезно, если я получу sapces вместо – Keshav1234

+0

@Keshav см. Обновленный ответ –

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