我是编程方面的新手,但现在开始。我在学术课程中使用PhpMyAdmin,但我的知识有限,但我学得很快,尽管我得到的大学支持有限。
我希望创建一个简单的培训需求分析数据库,它只需要是一个原型。我已经创建了我的表,并尝试了脚本,尽管我被卡住了。我希望我的页面显示每个问题的单选按钮(我现在通常称之为技能问题1、2、3等),并将答案插入我的tnanswers表中。
我查阅了这个网站寻求支持,并尝试了各种建议,尽管我无法使其发挥作用。我得到的语法错误是第40行的未定义帖子,这是指标题"技能问题1"下的第一篇帖子。
如有任何帮助,我们将不胜感激。我知道mysql已经贬值了,但我对mysqli或pdo的了解还不够,无法更改所有脚本以匹配。
我的tnanswers表的列如下:
UserID-我的users表的主键,试图唯一标识登录者,并将其插入我的tnanswers表中。
TnaID-我的tnaiquestions表的主键,用于识别问题和相关的支持视频。
TnaValue-将为Y或N,具体取决于用户在每个收音机上选择是还是否。
我已经使用了displaytnaviodes.php操作,因为我希望使用此页面运行一个查询来提取Y值,并显示用户选择"是"的视频的视频内容。
我的脚本如下:
<?php
require_once("db_connection.php");
session_start();
//Select database
$database = "com904";
$db = mysql_select_db($database) or die("Unable to select database");
$radioPost="INSERT INTO tnaanswers (UserID, TnaID, TnaValue)VALUES
(('$_POST[UserID]', 'Tna1', '$_POST[Tna1]),
('$_POST[UserID]', 'Tna2', '$_POST[Tna2]),
('$_POST[UserID]', 'Tna3', '$_POST[Tna3]),
('$_POST[UserID]', 'Tna4', '$_POST[Tna4]),
('$_POST[UserID]', 'Tna5', '$_POST[Tna5]),
('$_POST[UserID]', 'Tna6', '$_POST[Tna6]),
('$_POST[UserID]', 'Tna7', '$_POST[Tna7]),
('$_POST[UserID]', 'Tna8', '$_POST[Tna8]),
('$_POST[UserID]', 'Tna9', '$_POST[Tna9]),
('$_POST[UserID]', 'Tna10', '$_POST[Tna10]));
mysql_query($query) or die(mysql_error());
?>
<html>
<head>
<title>Do you require support with the following ICT skills? </title>
</head>
<body>
<h3>Skills question 1</h3>
<form method="post" action="displayTnaVideos.php">
<input type="radio" name="Tna1" value="Y"><label>Yes</label>
<input type="radio" name="Tna1" value="N"><label>No</label><br/>
<br>
<h3>Skills question 2</h3>
<form method="post" action="displayTnaVideos.php">
<input type="radio" name="Tna2" value="Y"><label>Yes</label>
<input type="radio" name="Tna2" value="N"><label>No</label><br/>
<br>
<h3>Skills question 3</h3>
<form method="post" action="displayTnaVideos.php">
<input type="radio" name="Tna3" value="Y"><label>Yes</label>
<input type="radio" name="Tna3" value="N"><label>No</label><br/>
<br>
<h3>Skills question 4</h3>
<form method="post" action="displayTnaVideos.php">
<input type="radio" name="Tna4" value="Y"><label>Yes</label>
<input type="radio" name="Tna4" value="N"><label>No</label><br/>
<br>
<h3>Skills question 5</h3>
<form method="post" action="displayTnaVideos.php">
<input type="radio" name="Tna5" value="Y"><label>Yes</label>
<input type="radio" name="Tna5" value="N"><label>No</label><br/>
<br>
<h3>Skills question 6</h3>
<form method="post" action="displayTnaVideos.php">
<input type="radio" name="Tna6" value="Y"><label>Yes</label>
<input type="radio" name="Tna6" value="N"><label>No</label><br/>
<br>
<h3>Skills question 7</h3>
<form method="post" action="displayTnaVideos.php">
<input type="radio" name="Tna7" value="Y"><label>Yes</label>
<input type="radio" name="Tna7" value="N"><label>No</label><br/>
<br>
<h3>Skills question 8</h3>
<form method="post" action="displayTnaVideos.php">
<input type="radio" name="Tna8" value="Y"><label>Yes</label>
<input type="radio" name="Tna8" value="N"><label>No</label><br/>
<br>
<h3>Skills question 9</h3>
<form method="post" action="displayTnaVideos.php">
<input type="radio" name="Tna9" value="Y"><label>Yes</label>
<input type="radio" name="Tna9" value="N"><label>No</label><br/>
<br>
<h3>Skills question 10</h3>
<form method="post" action="displayTnaVideos.php">
<input type="radio" name="Tna10" value="Y"><label>Yes</label>
<input type="radio" name="Tna10" value="N"><label>No</label><br/>
<br>
<input type="submit" name="submit" Value="submit">
</body>
</html>
</html>
这里的主要问题是INSERT语句,它使用引号不正确,并且缺少串联。此外,它在分号之前的最后一个双引号缺失;
当在像"Tna1"这样的纯文本和php变量(可以是以美元符号$开头的任何东西)之间切换时,需要将它们连接起来。在这个例子中,我使用了句号。要做到这一点,还有其他方法,例如使用大括号{}
$radioPost="INSERT INTO tnaanswers (UserID, TnaID, TnaValue) VALUES
(
('".$_SERVER['REMOTE_ADDR']."', 'Tna1', '".$_SERVER['REMOTE_ADDR']."'),
('".$_POST['UserID']."', 'Tna1', '".$_POST['Tna1']."'),
('".$_POST['UserID']."', 'Tna2', '".$_POST['Tna2']."'),
('".$_POST['UserID']."', 'Tna3', '".$_POST['Tna3']."')
)";