Php 将数据库值存储到变量中
“我的表”类别有以下列: idcategory categorySubject users_idusers 获取和存储categoryid的最佳方式是什么Php 将数据库值存储到变量中,php,mysql,sql,Php,Mysql,Sql,“我的表”类别有以下列: idcategory categorySubject users_idusers 获取和存储categoryid的最佳方式是什么 if($_SERVER['REQUEST_METHOD'] != 'POST') //show form if not posted { $sql = "SELECT * FROM category;"; $result = mysqli_query($conn,$sql);
if($_SERVER['REQUEST_METHOD'] != 'POST') //show form if not posted
{
$sql = "SELECT * FROM category;";
$result = mysqli_query($conn,$sql);
?>
<form method="post" action="createTopic.php">
Choose a category:
</br>
</br>
<?php
while ($row = mysqli_fetch_assoc($result)) {
echo "<div class= 'choice'><input type='radio' name='category' value='". $row['idcategory'] . "'>" . $row['categorySubject'] ."</div></br>";
}
echo 'Topic: <input type="text" name="topic" minlength="3" required>
</br></br>
<input type="submit" value="Add Topic" required>
</form>';
}
if ($_POST){
if(!isset($_SESSION['signedIn']) && $_SESSION['signedIn'] == false)
{
echo 'You must be signed in to contribute';
}
else{
$sql="INSERT INTO topic(subject, topicDate, users_idusers, category_idcategory, category_users_idusers) VALUES('($_POST[topic])', '$date', '$_SESSION[userid]', '$getCatId', '$_SESSION[userid]');";
$result = mysqli_query($conn,$sql);
echo "Added!";
if($\u服务器['REQUEST\u方法]!='POST')//如果未发布则显示表单
{
$sql=“从类别中选择*”;
$result=mysqli\u查询($conn,$sql);
?>
选择一个类别:
如果我正确理解了这个问题,您的$getCatId
(类别id)将出现在$\u POST['category']
(发送表单后)您的情况下如果我正确理解了这个问题,您的$getCatId
(类别id)将出现在$\u POST['category']
(发送表单后)在您的情况下您应该做的第一件事是在old来拜访您之前,通过参数化您的查询来保护自己
您也可以像我在下面演示的那样研究使用,因为它是一个一致的API,可以与许多不同的数据库管理系统一起工作,因此这为您带来了非常好的可移植代码
选择一个类别:
你应该做的第一件事是在old来拜访你之前,通过参数化你的查询来保护你自己
您也可以像我在下面演示的那样研究使用,因为它是一个一致的API,可以与许多不同的数据库管理系统一起工作,因此这为您带来了非常好的可移植代码
选择一个类别:
是的,在按下submit按钮后,用户从数据库中的单选按钮中进行选择。我不知道这是否重要,但我已经有一个查询了。我不确定是否可以在同一部分中放置另一个。是的,在按下submit按钮后,用户从单选按钮中进行选择不是来自数据库。我不知道这是否重要,我把代码放在哪里,但我已经有一个查询了。我不确定是否可以在同一部分中放另一个。警告:当使用mysqli
时,您应该使用and将用户数据添加到查询中。不要使用字符串插值或串联来完成此操作,因为e您创建了一个严重的错误。切勿将$\u POST
或$\u GET
数据直接放入查询中,如果有人试图利用您的错误,这可能非常有害。警告:使用mysqli
时,您应该使用并将用户数据添加到查询中。不要使用字符串插值或串联来完成此操作,因为您已经创建了一个严重的错误。请不要将$\u POST
或$\u GET
数据直接放入查询,如果有人试图利用您的错误,这可能会非常有害。
if($_SERVER['REQUEST_METHOD'] != 'POST') //show form if not posted
{
$sql = "SELECT * FROM category;";
$result = mysqli_query($conn,$sql);
?>
<form method="post" action="createTopic.php">
Choose a category:
</br>
</br>
<?php
while ($row = mysqli_fetch_assoc($result)) {
echo "<div class= 'choice'><input type='radio' name='category' value='". $row['idcategory'] . "'>" . $row['categorySubject'] ."</div></br>";
}
echo 'Topic: <input type="text" name="topic" minlength="3" required>
</br></br>
<input type="submit" value="Add Topic" required>
</form>';
}
if ($_POST){
if(!isset($_SESSION['signedIn']) && $_SESSION['signedIn'] == false)
{
echo 'You must be signed in to contribute';
}
else{
$sql="INSERT INTO topic(subject, topicDate, users_idusers, category_idcategory, category_users_idusers) VALUES('($_POST[topic])', '$date', '$_SESSION[userid]', '$getCatId', '$_SESSION[userid]');";
$result = mysqli_query($conn,$sql);
echo "Added!";
<?php
// returns an intance of PDO
// https://github.com/jpuck/qdbp
$pdo = require __DIR__.'/mei_DV59j8_A.pdo.php';
// dummy signin
session_start();
$_SESSION['signedIn'] = true;
$_SESSION['userid'] = 42;
//show form if not posted
if($_SERVER['REQUEST_METHOD'] != 'POST'){
$sql = "SELECT * FROM category;";
// run query
$result = $pdo->query($sql);
?>
<form method="post" action="createTopic.php">
Choose a category:
</br>
</br>
<?php
// get results
while ($row = $result->fetch(PDO::FETCH_ASSOC)) {
echo "
<div class= 'choice'>
<input type='radio' name='category' value='$row[idcategory]'/>
$row[categorySubject]
</div>
</br>
";
}
echo '
Topic: <input type="text" name="topic" minlength="3" required>
</br></br>
<input type="submit" value="Add Topic" required>
</form>
';
}
if ($_POST){
if(!isset($_SESSION['signedIn']) && $_SESSION['signedIn'] == false){
echo 'You must be signed in to contribute';
} else {
// simulate your date input
$date = date("Y-m-d");
// bind parameters
$sql = "
INSERT INTO topic (
subject, topicDate, users_idusers, category_idcategory, category_users_idusers
) VALUES(
:subject, :topicDate, :users_idusers, :category_idcategory, :category_users_idusers
);
";
// prepare and execute
$statement = $pdo->prepare($sql);
$statement->execute([
'subject' => "($_POST[topic])",
'topicDate' => $date,
'users_idusers' => $_SESSION['userid'],
// to answer your question, here's your variable
'category_idcategory' => $_POST['category'],
'category_users_idusers' => $_SESSION['userid'],
]);
echo "Added!";
}
}