我正在尝试使用新值更新表中的第一列,使用类似于下面的内容。问题是 $userTemp 变量在 mysql 中没有递增,但它似乎贯穿了php for 循环中的数组(如预期的那样)。但是在 mysql_query 这似乎没有反映?我不太明白为什么当我在 mysql_query 之前回显 $userTemp 时,它表明它正在正确递增。查询通过函数 queryMysqlPopulate($userTemp,$row[0]); 但参数似乎没有传递给函数。但是,在为 $userTemp 运行另一个回显的函数调用后,显示该值实际上已增加。喜欢认真吗?!请有人能告诉我为什么吗?会话控制与此有关吗?
任何帮助是极大的赞赏!
PS。这不是完整的程序,我刚刚剪掉了适用的部分,以免占用你太多的时间(希望有帮助)。
$userlogins = array('c001','d001','dj001','ed001',
'k001','nr001','ol001','pt001',
'py001','rx001','s005');
if (tableExists('mytable'))
{
$tempQuery = queryMysql("SELECT username FROM students");
$numRows = mysql_num_rows($tempQuery);
for ($j = 0 ; $j < $numRows ; ++$j)
{
$userTemp = "$userlogins[$j]";
echo $userTemp;
$row = mysql_fetch_row($tempQuery);
queryMysqlPopulate($userTemp,$row[0]);
echo $userTemp;
}
}
和功能
function queryMysqlPopulate($tempLogin, $tempRow){
$result = mysql_query("UPDATE mytable SET username='$tempLogin' WHERE username='$tempRow'") or die(mysql_error());
return $result;}
我无法回答我自己的问题,因为我是一个新手:P 所以编辑 insteaD:
没问题,这很好用,虽然它不完全是我想要的,因为它不完全是数组访问,而是通过它的值明确引用一个字段:(
for($i = 0; $i < $loops; ++$i)
{
queryMysql("INSERT INTO $name VALUES" .
"('hi$i', 'there', 'all', 'you', 'cats')");
}
然后更改更新...设置为
if (tableExists('mytable'))
{
$tempQuery = queryMysql("SELECT username FROM mytable");
$numRows = mysql_num_rows($tempQuery);
for ($j = 0 ; $j < $numRows ; ++$j)
{
$userTemp = "$userlogins[$j]";
echo $userTemp;
$row = mysql_fetch_row($tempQuery);
queryMysqlPopulate($userTemp,'hi'.$j);
echo $userTemp;
//echo $row[0];
}
//echo tableExists('none');
}
我仍然更喜欢通过数组访问来执行此操作,即通过更新中的元素编号访问第一列的第一个字段... set mysql 查询。因此,非常感谢您提供任何帮助。