php

时间:2015-07-08 07:53:25

标签: php mysql function

您好如何为此编写php代码,我的文件包含数据列表,例如

  AA123_jane_G-1
  AA456_oshi_K-3
  AA789_pritt_P-4

我使用

读取了我的文件
function myfile(){

     while (($data = fgetcsv($handle, 1000, "_")) !== FALSE) {
    ..................
    ........
     .......
   //get $student_id, $name, $class,
}

我需要使用来自文件

的student_id获取用户名和密码
function getusernameandpassword($student_id){

 ........
 .......
  $result = mysql_query("SELECT student_id, username, password FROM account WHERE student_id= '".$student_id."'");
 ........
 //get $username and $password from other remote server
 ....... }

执行both函数后,我想收集该学生的所有信息并插入DB

   function insertDB(){
 ........
 .......
 mysql_query("INSERT INTO user_info 
(student_id, username, password, name, class) VALUES ($student_id,$username,$password,$name,$class)")
 ........
 .......
 //insert all the paramater get from both function for each student to localhost DB}

我的问题,如何使用php在1个脚本中编写此函数。如何返回值以及如何获取其他函数的输入值

3 个答案:

答案 0 :(得分:0)

要在函数外部使用函数变量,要么返回变量并将其分配给另一个变量,要么在函数内部将所需变量设置为global,例如:

function test(){
    global $variable;
}

然后您可以在脚本内的任何位置使用它。

答案 1 :(得分:0)

首先使用已弃用的mysql函数停止使用PDO。同样返回您的字段/列/表格以避免与保留字冲突

如果我理解你应该能够在单个SQL语句中执行此操作,如

'INSERT INTO `user_info`(`student_id`, `username`, `password`, `name`, `class`) 
SELECT `student_id`, `username`, `password`, '.$name.','.$class.' FROM `account` WHERE `student_id`= '.$student_id.')'

有关INSERT...SELECT语法

的更多信息,请参阅此处

通过选择传递给查询字符串的变量(即名称和类),您还可以插入帐户表中不可用的信息(我猜您是从文本文件中获取的)

答案 2 :(得分:0)

你可以使用数组

function getusernameandpassword($student_id) {
    ....
    return array('username' => $username, 'password' => $password);
}

function insertDB($infos){
    ....
    mysql_query("INSERT INTO user_info (student_id, username, password, name, class) VALUES ($student_id, {$infos['username']}, {$infos['password']}, $name, $class)");
    ....
}

或者你可以使用对象

function getusernameandpassword($student_id) {
    ....
    return (object)array('username' => $username, 'password' => $password);
}

function insertDB($infos){
    ....
    mysql_query("INSERT INTO user_info (student_id, username, password, name, class) VALUES ($student_id, {$infos->username}, {$infos->password}, $name, $class)");
    ....
}

@ mike-miller是对的,停止使用已弃用的mysql函数