Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/68.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/vim/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 模式匹配我哪里错了?_Php_Mysql_Sql - Fatal编程技术网

Php 模式匹配我哪里错了?

Php 模式匹配我哪里错了?,php,mysql,sql,Php,Mysql,Sql,我将这些数据插入到名为princess_bet_football的表中 表一 表名:公主足球 我没时间让球队主场平局 131 23:30:00 UTC德卡贾马卡诉罗萨里奥体育1.57 3.45 6.28 132 23:30:00马竞对库库塔·拉科蒂沃4.13 3.14 1.88 133 01:15:00美国米内罗队对菲盖伦塞队1.58 3.38 6.33 134 02:00:00 EC陶贝特SP v EC Agua Santa SP 2.44 3.09 2.81 135 02:00:00纽约红牛

我将这些数据插入到名为princess_bet_football的表中
表一
表名:公主足球
我没时间让球队主场平局
131 23:30:00 UTC德卡贾马卡诉罗萨里奥体育1.57 3.45 6.28
132 23:30:00马竞对库库塔·拉科蒂沃4.13 3.14 1.88
133 01:15:00美国米内罗队对菲盖伦塞队1.58 3.38 6.33
134 02:00:00 EC陶贝特SP v EC Agua Santa SP 2.44 3.09 2.81
135 02:00:00纽约红牛二队对多伦多足球俱乐部二队1.56 3.73 5.44
136 02:30:00圣地亚哥流浪者诉科布雷萨尔1.56 3.78 5.44
137 02:30:00卢弗登斯山诉巴拉那Clube PR 2.11 2.95 3.64
138 02:30:00 Santa Cruz PE v Boa Esport Clube 1.90 3.06 4.27
139 03:00:00 Monarcas Morelia v CF蒙特雷3.17 3.06 2.22
140 03:00:00 Botafogo PB v Fortaleza CE 2.06 3.06 3.59

第二个表名为mk_bet,为空,但有原始数据要插入csv中,这些数据如下所示

表二
马竞对库库塔·拉科蒂沃4 3.5 1.75
拉科里沃·卡皮亚塔诉蒙得维的亚国家2.3.2.8
美国基多诉奥卡斯案2.38 3.2 2.7
美国米内罗诉菲盖伦塞1.62 3.5 4.75
EC Taubate诉Agua Santa 2.3.3 2.63
奥兰多城对亚特兰大联队2.6 3.25 2.4
迪亚兹将军诉塞罗·波特诺案3.8 3.25 1.83
圣克鲁斯诉博阿案1.91 3.3 3.6
圣地亚哥流浪者队诉科布雷萨尔队1.5 4.2 5
Monarcas Morelia诉蒙特雷3.25 3.2 2.05
Ceara v Goias 1.73 3.3 4.33
LDU Loja v Olmedo 1.36 4.33 7
巴塞罗那SC诉富尔扎阿马里拉1.2 5.25 13
蒂格雷诉爱国者2.52.82.8
Atlante v Cafetalerosde Tapachula 1.95 3.25 3.5
博亚卡·奇科诉波帕扬大学1.67 3.5 4.5
Leones Negros v Correcaminos 1.95 3.3 3.4
Venados v Minerosde Zacatecas 2.2 3.3 2.88
蒂华纳诉克鲁兹-阿苏尔案2.15 3.1 3.1
Avondale Heights U20 v Bentleigh Greens U20 1.75 4 3.5

因此,为了插入表2中要插入的数据,它必须存在于表1中,有一个执行该任务的查询,如下所示

 PHP CODES

$csv_file = CSV_PATH . "mkbf.csv"; 
$row = 0;

if (($handle = fopen($csv_file, "r")) !== FALSE) {
 while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {   
    $row++;
    if($row == 1) continue;
    if ($data[0]) { 
     //Mysql Start
     $query = mysql_query("SELECT * FROM `princess_bet_football` WHERE `TEAMS` LIKE '%$data[0]%'");
    if(mysql_num_rows($query) > 0){
     while ($newArray = mysql_fetch_array($query))
     {
       $id_no=$newArray['ID_NO'];
       $sql="insert into mkeka_bet_football (ID_NO,TEAMS,HOME,DRAW,AWAY)VALUES('$id_no','".addslashes($data[0])."','".addslashes($data[1])."','".addslashes($data[2])."','".addslashes($data[3])."')"; 

     if (mysql_query($sql))
     {
     echo "<b>";
     echo "RECORD(S) ADDED ";
     echo "</b>";
     }
     else
     {
       echo "<b>";
       echo "RECORD(S) NOT ENTERED SOMETHING WENT WRONG";
       echo "</b>";
       echo "<br>";
       echo mysql_error();
     }
  }
}
//Mysql End
} 
}
fclose($handle);
PHP代码
$csv\u文件=csv\u路径。“mkbf.csv”;
$row=0;
if($handle=fopen($csv_文件,“r”)!==FALSE){
而(($data=fgetcsv($handle,1000,“,”)!==FALSE){
$row++;
如果($row==1)继续;
如果($data[0]){
//Mysql启动
$query=mysql\u query(“从'princess\u bet\u football'中选择*,其中'TEAMS'类似“%$data[0]]”);
if(mysql_num_rows($query)>0){
while($newArray=mysql\u fetch\u array($query))
{
$id_no=$newArray['id_no'];
$sql=“插入mkeka_bet_football(ID_NO,球队,主场,平局,客场)值($ID_NO',”)。addslashes($data[0])。“,”。addslashes($data[1])。“,”。addslashes($data[2])。“,”。addslashes($data[3])。”);
if(mysql_查询($sql))
{
回声“;
echo“添加记录”;
回声“;
}
其他的
{
回声“;
echo“未输入的记录出错”;
回声“;
回声“
”; echo mysql_error(); } } } //Mysql端 } } fclose($handle);

正如您看到的,上面的表1已经包含数据表2是空的,为了在表2中插入数据,该记录应该存在于表1中,在上面的php代码中,它会检查要插入表2中的记录是否存在于表1中,如果它存在,它将插入表2中,如果它不存在,它将不会被插入,所以我的问题是从上面的php代码来看,它确实检查记录是否存在,但它的一致性。例如,如果我使用这些代码并在phpadmin中运行,表2中只会输入两条记录,而表1和表2中应该输入五条记录。希望我的解释现在清楚了,有什么想法或新想法如何实现这一点???

将文件转储到临时表中并使用此查询。

插入mkeka_bet_football(ID_NO,TEAMS,HOME,DRAW,AWAY)选择A.ID_NO,A.HOME,A.DRAW,A.AWAY远离公主_bet_football A加入mkeka_bet_football_temp ON A.TEAMS=B.TEAMS;

将文件转储到临时表中并使用此查询。

插入mkeka_bet_足球(识别号、球队、主场、平局、客场)选择A.ID\u NO,A.TEAMS,A.HOME,A.DRAW,A.远离公主\u bet\u football A加入mkeka\u bet\u football\u temp B ON A.TEAMS=B.TEAMS;

如果我使用此查询,是否会带来大小写敏感问题和空间问题?因为有时我会发现名称看起来相同,但另一个名称可能有一些附加字符m我的理解是,考虑到空间和大小写敏感性,表1中的名称应与表2中的数据相同。如果我使用此查询错误,请纠正我。这会不会带来大小写敏感性问题和空间问题?因为有时我会发现名称看起来相同,但另一个名称可能有一些附加字符h根据我的理解,此查询表1中的名称应与表2中的数据相同,考虑到空间和大小写敏感性。如果我错了,请纠正我