2015-04-28 3 views
0

Это мой код для записи данных в другую базу данных при нажатии кнопки отправки. Есть две кнопки, которые можно принять, и один запретить, когда нажата кнопка «Принять», она будет записываться в базу данных, называемую headforms, и при нажатии кнопки «deny» она будет записывать данные в базу данных, называемую deanforms. Пожалуйста, проигнорируйте способ написания кода из-за моих основных навыков html/php/sql, и было бы здорово, если бы кто-то помог мне!Данные формы не добавлены в базу данных

<?php 
} else if ($usertype == 1) { 
$server = "localhost"; 
$user = ""; 
$pass = ""; 
$db = ""; 
$user1 = $_SESSION['username']; 
$mysqli = new Mysqli($server, $user, $pass, $db) or mysqli_error($mysqli); 
$overrides = $mysqli->query("SELECT * FROM Overrides WHERE professor = '$user1'"); 
$num_rows = mysqli_num_rows($overrides); 
?> 
    <?php 
echo "&nbsp;Overrides today: " . $num_rows; 
?> 

    <?php 
    while($row = mysqli_fetch_array($overrides)) { ?> 
    <fieldset> <?php 
     echo "First Name:&nbsp;&nbsp; " . $row['name'] . "<br />"; 
     echo "<br />Mid. Name:&nbsp;&nbsp; " . $row['mname'] . "<br />"; 
     echo "<br />Fam. Name:&nbsp;&nbsp; " . $row['fname'] . "<br />"; 
     echo "<br />Student ID:&nbsp;&nbsp;&nbsp;&nbsp;" . $row['sid'] . "<br />"; 
     echo "<br />Scolarship:&nbsp;&nbsp;&nbsp;&nbsp; " . $row['sc'] . "<br />"; 
     echo "<br />Phone No:&nbsp;&nbsp;&nbsp;&nbsp; " . $row['phone'] . "<br />"; 
     echo "<br />Email:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; " . $row['email'] . "<br />"; 
     echo "<br />Class:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; " . $row['class'] . "<br />"; 
     echo "<br />Section:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; " . $row['section'] . "<br />"; 
     echo "<br />Semester:&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; " . $row['semester'] . "<br />"; 
      $name = $row['name']; 
     $mname = $row['mname']; 
     $fname = $row['fname']; 
     $sid = $row['sid']; 
     $sc = $row['sc']; 
     $phone = $row['phone']; 
     $email = $row['email']; 
     $class = $row['class']; 
     $section = $row['section']; 
     $semester = $row['semester']; 
     ?> 
<br /> 
<div> 
<label for="comments" accesskey="c">Notes & Comments:</label><br /> 
<textarea name="comments" cols="35" rows="10"> 
</textarea><br> 
</div> 
<br> 
      <form method="post" action="dbheads.php" name="HeadWritingForm" id="HeadWritingForm" autocomplete="off"> 
    <input type="submit" class="submit" id="submit" value="Accept" /><br><br> 
     </form> 
       <form method="post" action="dbheads2.php" name="deny" id="deny" autocomplete="off"> 
    <input type="submit" class="submit" id="submit" value="Deny" /><br><br> 
    </form> 

    </fieldset> 
    <br> 
<?php } 
?> 
<br /> 

мой dbheads.php

<?php 
$mysql_host  = "localhost"; 
$mysql_username = ""; 
$mysql_password = ""; 
$mysql_database = ""; 
$mysqli = new Mysqli($mysql_host, $mysql_username, $mysql_password, $mysql_database) or die(mysql_error()); 


$prepare = $mysqli->prepare("INSERT INTO `headforms`(`name`,`mname`,`fname`,`sid`,`email`,`phone`,`sc`,`class`,`section`,`semester`) VALUES (?,?,?,?,?,?,?,?,?,?)"); 
$prepare->bind_param("ssssssssss", $name, $mname, $fname, $sid, $email, $phone, $sc, $class, $section, $semester); 
$prepare->execute(); 
if ($prepare) { 
echo 'accepted'; 
} else { 
echo 'sorry'; 
} 
?> 

мой dbheads2.php

<?php 
$mysql_host  = "localhost"; 
$mysql_username = ""; 
$mysql_password = ""; 
$mysql_database = ""; 
$mysqli = new Mysqli($mysql_host, $mysql_username, $mysql_password, $mysql_database) or die(mysql_error()); 


$prepare = $mysqli->prepare("INSERT INTO `deanforms`(`name`,`mname`,`fname`,`sid`,`email`,`phone`,`sc`,`class`,`section`,`semester`) VALUES (?,?,?,?,?,?,?,?,?,?)"); 
$prepare->bind_param("ssssssssss", $name, $mname, $fname, $sid, $email, $phone, $sc, $class, $section, $semester); 
$prepare->execute(); 
if ($prepare) { 
echo 'denied'; 
} else { 
echo 'Sorry'; 
} 
?> 

Когда принимаю нажата, она печатает на странице принят и когда отрицаете нажата, она печатает, но отрицал запись в базу данных не производится. Заранее спасибо!

+3

В dbheads.php и dbheads2.php вы смешиваете API, ('' mysql_' и mysqli_'), который никогда не будет work.Add сообщение об ошибках в верхней части вашего файла (ов) сразу после открытия '

+0

вы не проверяете возвращаемые значения функций, называемых –

+0

, во-первых, это'

ответ

1

Поскольку Prepared не является нулевым, похоже, что у вас проблема с базой данных. Что-то в базе данных не позволяет вам писать на нее.

Что было бы очень удобно для вас - посмотреть, что происходит на стороне базы данных.

У MySQL есть отличная возможность, позволяющая просматривать запросы, которые были выполнены, и помогла мне несколько раз.

SET GLOBAL log_output = 'TABLE'; 
SET GLOBAL general_log = 'ON'; 

Посмотрите на таблицу mysql.general_log:

select * from mysql.general_log; 

Когда вы закончите убедитесь, что вы установили general_log = 'OFF'; так, что журнал действительно постоянно не растут.

Я обычно очистить журнал, прежде чем я поворачиваю полено:

truncate mysql.general_log; 
0

Вы должны установить $ user = ""; как root (по умолчанию) или что у вас есть, а также предоставить имя базы данных, например $ db = «ваше имя базы данных», поэтому php может узнать, в каком файле данных должны вставляться данные или в какую базу данных ему нужно взаимодействовать.

+1

Я уверен, что они оставили эти учетные данные. –

+0

, даже если они имеют правильные учетные данные, код будет терпеть неудачу. –

+0

учетные данные правы, я просто удалил его, чтобы опубликовать его здесь. – Sam

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