【发布时间】:2011-02-24 00:37:52
【问题描述】:
这里有两个问题:
1.我对复选框的值有疑问
2.我对 mysql_fetch_array 有疑问($变量,ASSOC);方法 --> 我数据库中的所有数据都是 VARCHAR 类型
1. 所有以'Cb'结尾的变量表示该值来自FORM的复选框。如果选中复选框,则表示该行(例如:用户名)将在我的数据库的 Select 方法中(例如:SELECT Username FROM...)
我收到此错误 1. 未定义索引:C:\wamp\www\Projet Compte Utilisateur\manip_liste.php 中的第 7 行中的 fonctionCb 2. 未定义变量:第 14 行 C:\wamp\www\Projet Compte Utilisateur\manip_liste.php 中的选项卡 ...等所有复选框 如果它们没有被选中 ..这是我的 PHP 代码
<?php
$prep = "";
if(!$_POST['username'])
echo 'Nom d\'utilisateur manquant';
if(($_POST["userCb"]) && ($_POST["suffixeCb"]) && ($_POST["fonctionCb"]) && ($_POST["passwordCb"])){
$prep = " * ";
$tab = "User SUFFIXE SITE FONCTION PASSWD";
}
else{
if($_POST["userCb"]){
$prep += "username ,";
$tab += "USER ";
}
if($_POST["suffixeCb"]){
$prep += "suffixe ,";
$tab += "SUFFIXE ";
}
if($_POST["passwordCb"]){
$prep += "password ,";
$tab += "PASSWD ";
}
if($_POST["siteCb"]){
$prep += "siteWeb ,";
$tab += "SITE ";
}
if($_POST["fonctionCb"]){
$prep += "fonction ";
$tab += "Fx ";
}
}//ELSE
require("db_action.php"); //Require in the database connection.
$bd = db_open();
$data = db_select($prep, $_POST["username"]); //Envoie des variables à afficher et du Username pour le SELECT
echo "'$tab'";
echo "'$data'"; ?>
2. 第二个错误 而且我从 fetch_array 方法中得到了这个错误 错误:警告:mysql_fetch_array() 期望参数 1 是资源,第 68 行 C:\wamp\www\Projet Compte Utilisateur\db_action.php 中给出的字符串
这是我方法中的代码
function db_select($prep, $username){
$querycon = "SELECT '$prep' FROM info_compte WHERE username = '$username'";
if(!mysql_query($querycon)){
echo "Il n\'y a aucun '$username' dans la base de données";
$response = "";
}
else{
while ($row = mysql_fetch_array(mysql_query($querycon), MYSQL_ASSOC))
printf("%s %s %s %s %s", $row["username"], $row["suffixe"], $row["password"], $row["siteWeb"], $row["fonction"]); //The PRINTF dont work
}
return $response;
}//db_select
谢谢大家的回答,我指定我是一个想要学习的实践初学者..
【问题讨论】:
-
对不起,这不是我的本意
-
@ThorDozer:你应该用
.=而不是+=连接字符串。另外,尝试使用类似于isset()的东西来检查是否设置了值。而且我假设您的$tab变量没有被设置为如果条件失败,因此您的连接尝试会引发错误。 -
@Russel Dias: isset() 是什么意思;方法。我应该把它放在哪里?
-
@ThorDozer:您正在测试是否存在的任何变量。
-
第一个问题已经回答。第二个还在出现