2015-02-13 3 views
0

Я делаю основной сайт рекомендации песни, и у меня есть форма установить, что ведет на страницу с этим точным кодом на нем:Пустая страница на mysqli_query() ;?

<?php 
     ini_set('display_errors',1); 
     ob_start(); 
     session_start(); 

     $host = "localhost"; 
     $user = "root"; 
     $pass = "MYPASS"; 
     $db = "tts"; 

     $conn = mysqli_connect($host, $user, $pass, $db); 

     $song = $_POST['song']; 
     $artist = $_POST['artist']; 
     $album = $_POST['album']; 
     $linkitunes = $_POST['linkitunes']; 
     $artwork = $_POST['artwork']; 

     $song = stripslashes($song); 
     $artist = stripslashes($artist); 
     $album = stripslashes($album); 
     $linkitunes = stripslashes($linkitunes); 
     $artwork = stripslashes($artwork); 

     $sql = "INSERT INTO recommendation (user_id, song, artist, album, linkitunes, artwork, rating)"; 
     $sql = $sql . "VALUES ($_SESSION['id'], '$song', '$artist', '$album', '$linkitunes', '$artwork', '$rating');"; 

     print "Hello."; 

     $result = mysqli_query($sql) or die("Fail"); 

     ob_flush(); 
?> 

Он всегда показывает «Привет.» string, пока я не добавлю значение $ sql. Я думаю, что что-то не так с синтаксисом кода, но не уверен. Попробовали очень много вариантов. На всякий случай, я добавил код формы, а также:

<form action="recommend-action.php" method="POST"> 
    <div id="noP" align="center"> 
      <h2>Make a new Recommendation</h2> 
      <p>Please <a href="song-search.php">search</a> for your song before you recommend it.</p> 
    </div> 
    <div align="center"> 
      <input required name="song" type="text" placeholder="Song" maxlength="50"></input> 
      <input required name="artist" type="text" placeholder="Artist" maxlength="50"></input> 
      <input name="album" type="text" placeholder="Album" maxlength="50"></input> 
      <input name="artwork" type="url" placeholder="Artwork" maxlength="500"></input> 
      <input name="linkitunes" type="url" placeholder="Link in iTunes" maxlength="500"></input> 
      <input id="submit" type="submit" value="Recommend"></input> 
    </div> 

+0

Я знаю, что я на самом деле не выполнял команду SQL. –

+0

$ conn отсутствует в 'mysqli_query' .. –

+0

Включение' error_reporting' в файл с синтаксическими ошибками не покажет много. Ваш файл не может быть проанализирован, поэтому даже строка error_reporting не будет запущена. Включите его в свой 'php.ini'. – mario

ответ

0

вы должны выполнить это ...

 $result = mysqli_query($con,$sql); or die("Fail"); 
+0

Я изменил это, но страница все еще полностью пуста. –

+0

@CameronMontesano на самом деле, что вы хотите получить на этой странице? – Arun

+0

Пришлось менять вещи, но это самая большая помощь из всех других ответов. Спасибо. –

0

Я сделал некоторые изменения в код, попробуйте следующее:

<?php 
ini_set('display_errors',1); 
ob_start(); 
session_start(); 

$host = "localhost"; 
$user = "root"; 
$pass = "MYPASS"; 
$db = "tts"; 

$conn = mysqli_connect($host, $user, $pass, $db); 

$song = $_POST['song']; 
$artist = $_POST['artist']; 
$album = $_POST['album']; 
$linkitunes = $_POST['linkitunes']; 
$artwork = $_POST['artwork']; 

$song = stripslashes($song); 
$artist = stripslashes($artist); 
$album = stripslashes($album); 
$linkitunes = stripslashes($linkitunes); 
$artwork = stripslashes($artwork); 

$sql = "INSERT INTO recommendation (user_id, song, artist, album, linkitunes, artwork, rating)"; 
$sql = $sql . "VALUES (".$_SESSION['id'].", '$song', '$artist', '$album', '$linkitunes', '$artwork', '$rating');"; 
     print "Hello."; 
     $result = mysqli_query($conn,$sql) or die("Fail"); 
     ob_flush(); 
?> 
+0

Просто сделал это, страница все еще пуста. –

0

У вас нет строки на PHP, которая преобразуется в HTML ... Как будет отображаться что-либо на экране. Напишите это в конце вашего кода.

echo "<br> Inserted Successfully"; 

Синтаксис mysqli_query неверен. Используйте следующий.

$result=mysqli_query($conn,$sql) or die ("Fail"); 

Других возможные проверки:

Первый Проверьте имя пользователя и пароль и проверьте подключение к базе данных успешно, используя этот кусок кода.

if (!$conn) { 
    die('Could not connect to MySQL: ' . mysql_error()); 
} 

Используйте session_start() в качестве первой строки вашего кода, иначе ваши сеансы не будут работать. Это не обязательно, но может вызвать у вас проблемы в будущем.

+0

Что вы пытаетесь отобразить? Ваш PHP-код не содержит строки, которые преобразуются в HTML. – LearningToCode