我认为我的投射有问题。
$db = mysqli_connect('127.0.0.1','root','password','test');
if (! $db) { die("Can't connect: " . mysqli_connect_error( )); }
$new_table = $_POST["newtablename"];
$old_table = $_POST["oldtablename"];
$numberRows = $_POST["numberrows"];
$startRow = $_POST["startrow"];
$counter = 0;
drop_table($db, $new_table);
create_table($db, $new_table);
for($counter = 0; $counter < $numberRows; $counter += 1)
{
$currentRow = getRow($db, $old_table);
$ID = $currentRow(1);
$Partner = $currentRow(2);
$Merchant = $currentRow(3);
}
function getRow($db, $old_table)
{
$select = "SELECT ID, Partner, Merchant FROM " .$old_table;
$q = mysqli_query($db, $select);
$row = mysqli_fetch_row($q);
return $row;
}
function create_table($db, $new_table){
$create = "CREATE TABLE " .$new_table. "(ID INT, Partner VARCHAR(20), Merchant VARCHAR(30))";
$q = mysqli_query($db, $create);
}
function drop_table($db,$new_table){
$drop = "DROP TABLE IF EXISTS " .$new_table;
$q = mysqli_query($db, $drop);
}
这是我得到的错误
致命错误:函数名称必须是第26行的C:\ xampp \ htdocs \ myfiles \ mysqli_combined_functions.php中的字符串
第26行是我设置$ ID = $ currentRow(1)的地方。我的印象是该行将作为变量数组返回,并使用正确的数字我可以访问我想要的变量。假设这是真的(让我知道它不是)然后我认为它是以INT形式读取ID,这就是我在SQL表中的内容。有人可以帮我把它变成字符串吗?或者我可能完全错过了这个问题?
答案 0 :(得分:4)
使用方括号访问数组元素。
$currentRow[1]
记住第一个索引也是0。
答案 1 :(得分:1)
不投射。这些是数组索引,请注意方括号。 [ ]
$currentRow = getRow($db, $old_table);
$ID = $currentRow[1];
$Partner = $currentRow[2];
$Merchant = $currentRow[3];