2016-12-05 4 views
1

Я пытаюсь создать веб-сайт, который подключается к базе данных. Операторы My Select работают для отправки данных, но ни мои вставки, ни мои инструкции удаления фактически не изменяют данные. Я искал вокруг google и stackoverflow, и пытался попробовать различные «ответы», когда я был в тупике, но он все еще не работает. В результате, корректное состояние моего кода является мешаниной, вероятно, избыточного кода. Я довольно новичок в html и php в целом, поэтому я был бы признателен за помощь. Я также извиняюсь, если мое форматирование неверно, поскольку я никогда раньше не использовал ничего подобного stackoverflow. Вот версия веб-страницы, для тех, кто не увидит проблему в действии. EDIT: Исправлено. Все комментарии и ответы помогли, но оказалось, что у меня была проверка if, чтобы убедиться, что входные данные были только буквами, когда первые две опубликованные переменные содержали числа.Запрос Mysql, не вставляющий данные в базу данных

если (preg_match ("/ [AZ | AZ] + /", $ _POST [ 'имя'])) был виновником

<!DOCTYPE html> 
<html> 
<head> 
<link rel = "stylesheet" type = "text/css" href = "style.css" /> 
</head> 
<body> 
    <div> 
    <form method="post" action="DBADELETE.php?go" id="deleteform"> 
     <input name="GMOVIE" type="text" placeholder="GMOVIEID of a movie to delete" required=""> 
    <input name="UMOVIE" type="text" placeholder="UMOVIEID of a movie to delete" required=""> 
     <input type="submit" name="submit" value="DELETE">    
     </form> 
    </div> 
<div> 
    <form method="post" action="DBAUPDATE.php?go" id="updateform"> 
     <input name="GMOVIE" type="text" placeholder="GMOVIEID of a movie to update" required=""> 
    <input name="UMOVIE" type="text" placeholder="UMOVIEID of a movie to update" required=""> 
<input name="TITLE" type="text" placeholder="TITLE of a movie to update" required=""> 
<input name="GENRE" type="text" placeholder="GENRE of a movie to update" required=""> 
<input name="RATING" type="text" placeholder="RATING of a movie to update" required=""> 
     <input type="submit" name="submit" value="UPDATE">    
     </form> 
    </div> 
    <div id = "content1" align = "center"> 
    <table id = "MOVIES"> 
    <tr> 
     <th>GMOVIEID</th> 
     <th>UMOVIEID</th> 
     <th>TITLE</th> 
     <th>GENRE</th> 
     <th>RATING</th> 
    </tr> 
<?php 
include 'bd.php'; 
$conn = new mysqli($host, $user, $pw, $bd_name); 

if ($conn->connect_error) { 
    die("Connection Failed: " . $conn->connect_error); 
} 
if(isset($_POST['submit'])){ 
$gmovie=$_POST['GMOVIE']; 
$umovie=$_POST['UMOVIE']; 
$title=$_POST['TITLE']; 
$genre=$_POST['GENRE']; 
$rating=$_POST['RATING']; 
$gmov_safe = mysqli_real_escape_string($gmovie,$conn); 
$umov_safe = mysqli_real_escape_string($umov,$conn); 
$title_safe = mysqli_real_escape_string($title,$conn); 
$genre_safe = mysqli_real_escape_string($genre,$conn); 
$rating_safe = mysqli_real_escape_string($rating,$conn); 
$q ="INSERT INTO MOVIE (GMOVIEID, UMOVIEID, TITLE,GENRE, RATING)  VALUES($gmovie,$umovie,'$title_safe','$genre_safe','$rating_safe')" 
$conn->query($q); 

if ($conn->query($q) === TRUE) 
{ 
echo "New record created successfully"; 
} 
else 
{ 
echo "Error: " . $q . "<br>" . $conn->error; 
} 
} 
?> 
<?php 
include 'bd.php'; 
$conn = new mysqli($host, $user, $pw, $bd_name); 

if ($conn->connect_error) { 
    die("Connection Failed: " . $conn->connect_error); 
} 
$q = "SELECT GMOVIEID, UMOVIEID, TITLE, GENRE, RATING FROM MOVIE"; 
$result = $conn->query($q); 

$row_count = $result->num_rows; 

while ($row = $result->fetch_assoc()) { 
    if (($row_count % 2) == 1) { 
     echo "<tr>"; 
    } else { 
     echo "<tr class=\"alt\">"; 
    } 

    echo "<td>" . $row[GMOVIEID] . "</td>" . 
     "<td>" . $row[UMOVIEID] . "</td>" . 
     "<td>" . $row[TITLE] . "</td>" . 
     "<td>" . $row[GENRE] . "</td>" . 
     "<td>" . $row[RATING] . "</td>" . 
     "</tr>" . PHP_EOL; 

    $row_count--; 
    } 
?> 
</body> 
<?php $conn->close(); ?> 
</html> 
+0

классический MySQL апи смешивания с разбора ошибок –

+0

Не звучать глупо, но что это значит? –

+0

Первое, что я вижу, это может быть проблемой: if (isset ($ _ GET ['go'])) {. Это запрос POST, поэтому $ _GET не будет установлен, и в этом состоянии ничего не произойдет. – princessjackie

ответ

0

вопрос, кажется, что форма переразводки к другому страница на отправить:

action="DBAUPDATE.php?go" 

или

action="DBADELETE.php?go" 

но оператор вставки вместе с шаблонного кода в текущей странице: DBAMOVIES.php

вам нужно добавить инструкции вставки и код шаблона в DBAUPDATE.php и DBADELETE.php.

Просто создайте выше двух страниц и добавить следующее заявление:

<html> 
<body> 
    <?php include("DBAMOVIES.php"); ?> 
</body> 
</html> 

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

  • Нет связанных вопросов^_^