我有这行代码在PHP中读取一个文件的CSV格式与MySQL数据库的结构,并显示创建它所需的SQL代码。我在这里遇到的唯一问题是,我不能打印出主键变量,因为它说它没有定义,即使我之前定义了它。有人能帮我解释一下为什么会出现这个错误吗?这是我的代码:
<?php
$line = 1;
echo "CREATE TABLE IF NOT EXISTS clientes( <br>";
if (($file = fopen("DB.csv", "r")) !== FALSE) {
while (($data = fgetcsv($file, 1000, ",")) !== FALSE) {
$str = explode(";", $data[0]);
if($line != 1) {
echo "". $str[0]. " ". $str[1];
if($str[2] == "NO") {
echo " NOT ";
} else {
echo " DEFAULT ";
}
echo " ".$str[4]." ".$str[5].",<br>";
if($str[3] == "PRI") {
$primarykey = $str[0];
}
}
$line++;
}
echo "PRIMARY KEY (" .$primarykey. ") <br>";
echo ") ENGINE=MyISAM DEFAULT CHARSET=utf8 AUTO_INCREMENT=1;";
fclose($file);
}
?>
我的代码从来没有进入过if($str[3]==“PRI)”
,所以我之前检查过,我注意到它没有在中的
if
语句中循环,而循环。我不得不从
$line!=1
至$行
问题内容: 在jQuery的核心风格指南建议两种不同的方法来检查一个变量是否被定义。 全局变量: 局部变量: 特性: 为什么jQuery为什么对全局变量使用一种方法而对局部变量和属性使用另一种方法? 问题答案: 对于未声明的变量,将返回字符串文字,而身份检查将触发错误 “未定义foo” 。 对于局部变量(您 知道 已在某处声明),不会发生此类错误,因此进行身份检查。
我试图在MySQL中创建一个过程。这是正文: 但是当我保存它时,我得到这个错误: 处理您的请求时发生了一个或多个错误: 以下查询失败:“创建定义器”=root@localhost过程getAutoFinishTimeRemaining(按_order_id INT,按_Hoursint)非确定性读取SQL数据SQL安全定义器开始声明_date_delivered datetime;声明_date_
This sets the value of $undefined for Smarty, default is null. Currently this is only used to set undefined variables in $global_assign to a default value. 该变量为Smarty设定没有得到定义的变量的值,默认为空.当前仅用来设定全局配置中的未定
问题内容: 我是PHP的新手,所以我的功能有一个小问题。我有这行代码: 无论如何,当我尝试这段代码时,我总是收到一条错误消息,指出第11行(代码的粗体部分)有错误,并且没有回显任何变量。我猜它给了我这个错误,因为我的变量没有在函数内部定义,但是我需要在函数外部定义它,所以有办法吗? 问题答案: 这是因为您正在函数内部使用变量(仅存在于全局范围内)。 有关更多信息,请参见PHP手册页上的变量范围。
问题内容: 我知道这是一个基本问题,但是我很好奇下面的代码为什么不起作用。没有用例不会声明此变量。 我得到错误 我确定这只是我还在学习的基本GOLANG内容。 谢谢你的支持 问题答案: 块有自己的范围。在您的情况下,它们在外部不可见。 您可以在修复前声明。 文件:https://golang.org/ref/spec#Declarations_and_scope 您可能还需要阅读:Go中的声明范围
代码: 错误: 我该怎么解决这个问题?