简体   繁体   English

更新用户详细信息,sql server 2008 sqlsrv

[英]update user details, sql server 2008 sqlsrv

Hello i am having some trouble getting a script to run, i keep getting an error message saying it expects two parameters and i have no idea how to fix it, heres the script: 您好我在运行脚本时遇到了一些问题,我不断收到一条错误消息,说它需要两个参数,我不知道如何修复它,继承脚本:

<?php
session_start ();
if(isset($_SESSION['user'])){
$username = $_SESSION['username'];
if(isset($_POST['submit'])){
    $oldpassword = $_POST['oldpassword'];
    $newpassword = $_POST['newpassword'];
    $serverName = "server";
    $connectionInfo = array("Database"=>"database","UID"=>"id", "PWD"=>"pass");
    $conn = sqlsrv_connect( $serverName, $connectionInfo);
    if( $conn === false){
        echo "Error in connection.\n";
        die( print_r( sqlsrv_errors(), true));
    }
    $tsql = "SELECT userPass FROM customers WHERE userName='$username'";
    $stmt = sqlsrv_query($conn, $tsql, array(), array( "Scrollable" => 'static' ));
    if ( !$stmt ){
        die( print_r( sqlsrv_errors(), true));
    }
    $rows = sqlsrv_num_rows($stmt);
    if($rows === false){
        die( print_r( sqlsrv_errors(), true));
    }elseif($rows == 0){
        echo "No rows returned.";
        exit();
    }else{
        $querychange = sqlsrv_query("UPDATE customers SET userPass='$newpassword' WHERE userName='$username'");
        session_destroy();
        die ("Your password has been changed. <a href='index.php'>Return</a> to the main page and login with your new password.");
    }
}
}
?>

I keep getting this error 我一直收到这个错误

PHP Warning: sqlsrv_query() expects at least 2 parameters, 1 given in file_name.php on line 27 PHP警告:sqlsrv_query()需要至少2个参数,第27行的file_name.php中给出1

Line 27 is where i update customers. 第27行是我更新客户的地方。 If anyone can spot an error in the script can you let me know, also yes I've not done SQL injection, at this stage I'm simply trying to get it working before I implement that. 如果任何人都可以在脚本中发现错误,你可以告诉我,也是我没有完成SQL注入,在这个阶段我只是想在实现它之前让它工作。

Thanks for all the help, it's much appreciated 感谢所有的帮助,非常感谢

Try passing connection to sqlsrv_query 尝试将连接传递给sqlsrv_query

something like: 就像是:

 $querychange = sqlsrv_query($conn, "UPDATE customers SET userPass='$newpassword' WHERE userName='$username'");

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM