Я предпочитаю делать это в php не в mysqli из-за времени.sql insert stat синтаксис
Как вставить часть столбца в MySQL, используя php?
Например, моя таблица столбцов в sql: courseid, code, title, cr, предварительное условие, std_id, статус, класс. Я использовал таблицу для извлечения данных в php, но статус и класс не содержат данных, потому что я хочу, чтобы пользователь их просматривал, чтобы узнать, какие курсы каждый ученик заполнил из списка курсов. Я хочу, чтобы пользователь вставлял их в другой столбец, который фиксируется конкретными данными. Проблема, с которой я сталкиваюсь в этом коде, заключается в том, что данные вставки поступают в новую запись, и я хочу вставить только два столбца, которые являются статусом, а Grade - с именами конечно.
Как вставить в только в статусе и Grade
enter code here
<?php
error_reporting(0);
include('config.php');
$sql="select * from studyplan";
$result=mysql_query($sql);
while ($row = mysql_fetch_array($result)){
$id=$row['courseid'];
$code=$row['code'];
$Title=$row['title'];
$cr=$row['cr'];
$pre=$row['prerequisite'];
$std=$row['std_id'];
$status=$row['status'];
$grade=$row['grade'];
echo "<tr class='edit_tr' id='$id'>
<td class='edit_td'>
<span class='text' id='one_$id' >$id </span>
</td>
<td class='edit_td'>
<span class='text' id='one_$id' >$code </span>
</td>
<td class='edit_td'>
<span class='text' id='two_$id' >$Title</span>
</td>
<td class='edit_td'>
<span class='text' id='three_$id' >$cr</span>
</td>
<td class='edit_td'>
<span class='text' id='three_$id' >$pre</span>
</td>
<td class='edit_td'>
<span class='text' id='three_$id' >$std</span>
</td>
<td class='edit_td'>
<span class='text' id='three_$id' >$status</span>
<select name='status' id='status'>
<option value=''>Completed</option>
<option value='B'>Not complate</option>
</select>
</td>
<td class='edit_td'>
<span class='text' id='three_$id' >$grade</span>
<select name='grade' id='grade'>
<option value=''>A</option>
<option value='B'>B</option>
<option value='C'>C</option>
<option value='D'>D</option>
<option value='F'>F</option>
</select>
</td>
</tr>";
}
echo '<input type="hidden" name="courseid" value="' . $id . '" />';
?>
<p align="center"><a href="year.html">Go Back</a> </p>
<p><input type="submit" value="Add Link"></p>
</tr>
</table>
</form>
</div>
</body>
</html>
<?php
if ($_SERVER['REQUEST_METHOD'] == "POST") {
$status=$_POST['status'];
$grade=$_POST['grade'];
Вставить заявление
$SQL = " INSERT INTO studyplan ";
$SQL = $SQL . " (status, grade) VALUES ";
$SQL = $SQL . " ('$status', '$grade') ";
$result = mysql_db_query($db,"$SQL",$cid);
if (!$result) {
echo("ERROR: " . mysql_error() . "\n$SQL\n"); }
echo ("New Link Added\n");
}
mysql_close($cid);
?>
я хочу это как небольшой рис
Если вы можете, вы должны [прекратить использование 'mysql_ *' функций] (http://stackoverflow.com/questions/12859942/why-shouldnt-i-use-mysql-functions-in-php). [Эти расширения] (http://php.net/manual/en/migration70.removed-exts-sapis.php) были удалены в PHP 7. Узнайте о [подготовленном] (http: //en.wikipedia.org/wiki/Prepared_statement) для [PDO] (http://php.net/manual/en/pdo.prepared-statements.php) и [MySQLi] (http://php.net/manual/en/mysqli .quickstart.prepared-statements.php) и рассмотрим использование PDO, [это действительно не сложно] (http://jayblanchard.net/demystifying_php_pdo.html). –
Вы должны действительно перейти к PDO или mysqli и подготовленным операторам, чтобы избежать внедрения sql. Это также решит вашу текущую проблему, которая, возможно, вы используете sql, и никогда не находите совпадение из-за пробела после '$ id' – jeroen
[Ваш скрипт подвержен риску вторжений SQL Injection.] (Http://stackoverflow.com/ вопросы/60174 /, как-может-я-предотвращать-SQL-инъекции-в-PHP) –