Php 在mysql中更新多表
我正在尝试更新mysql多个表,虽然没有错误,但更改不会反映在mysql数据库中。请告诉我是否需要使用JOIN将查询更新放在一个字符串中 我还需要吗Php 在mysql中更新多表,php,mysql,multi-table,Php,Mysql,Multi Table,我正在尝试更新mysql多个表,虽然没有错误,但更改不会反映在mysql数据库中。请告诉我是否需要使用JOIN将查询更新放在一个字符串中 我还需要吗 mysqli_query($conn, $sqlCD) or die(mysqli_error($conn)); in the below ? $pCDTitle = filter_has_var(INPUT_GET, 'CDTitle') ? $_GET['CDTitle']: null; // store all par
mysqli_query($conn, $sqlCD) or die(mysqli_error($conn)); in the below ?
$pCDTitle = filter_has_var(INPUT_GET, 'CDTitle') ? $_GET['CDTitle']: null; // store all parameter in variable
$pCDPubName = filter_has_var(INPUT_GET, 'CDPub') ? $_GET['CDPub']: null;
$pCDYear = filter_has_var(INPUT_GET, 'CDYear') ? $_GET['CDYear']: null;
$pCDCategory = filter_has_var(INPUT_GET, 'CDCat') ? $_GET['CDCat']: null;
$pCDPrice = filter_has_var(INPUT_GET, 'CDPrice') ? $_GET['CDPrice']: null;
$pCDID = filter_has_var(INPUT_GET, 'CDID') ? $_GET['CDID']: null;
$pCDPubID = filter_has_var(INPUT_GET, 'pubID') ? $_GET['pubID']: null;
$sqlCD = mysql_query("UPDATE nmc_cd SET CDTitle='$pCDTitle', CDYear='$pCDYear', CDPrice='$pCDPrice'");
$sqlCD2 = mysql_query("UPDATE nmc_category SET catDesc='$pCDCategory'");
$sqlCD3 = mysql_query("UPDATE nmc_publisher SET pubName='$pCDPubName'");
//mysqli_query($conn, $sqlCD) or die(mysqli_error($conn));
//mysqli_query($conn, $sqlCD2) or die(mysqli_error($conn));
//mysqli_query($conn, $sqlCD3) or die(mysqli_error($conn));
mysqli_close($conn);
您必须更改查询:
$sqlCD = mysql_query("UPDATE nmc_cd SET CDTitle=$pCDTitle, CDYear=$pCDYear, CDPrice=$pCDPrice");
$sqlCD2 = mysql_query("UPDATE nmc_category SET catDesc=$pCDCategory");
$sqlCD3 = mysql_query("UPDATE nmc_publisher SET pubName=$pCDPubName");
原因:
如果双qoutes“”中的字符串有一个php变量,如$test,则其值自动在字符串中,但如果使用单qoutes“”,则会打印其变量名。
例如:
$test = 5;
echo "The number is $test"; //The number is 5 prints
echo 'The number is $test'; //The number is $test prints
您必须更改查询:
$sqlCD = mysql_query("UPDATE nmc_cd SET CDTitle=$pCDTitle, CDYear=$pCDYear, CDPrice=$pCDPrice");
$sqlCD2 = mysql_query("UPDATE nmc_category SET catDesc=$pCDCategory");
$sqlCD3 = mysql_query("UPDATE nmc_publisher SET pubName=$pCDPubName");
原因:
如果双qoutes“”中的字符串有一个php变量,如$test,则其值自动在字符串中,但如果使用单qoutes“”,则会打印其变量名。
例如:
$test = 5;
echo "The number is $test"; //The number is 5 prints
echo 'The number is $test'; //The number is $test prints
mysqli_查询($conn,$sqlCD)或die(mysqli_错误($conn));在下面?
$pCDTitle=filter\u has\u var(输入\u GET,'CDTitle')$_获取['CDTitle']:null;//将所有参数存储在变量中
$pCDPubName=filter\u是否有变量(INPUT\u GET,'CDPub')$_GET['CDPub']:null;
$pCDYear=filter\u是否有变量(输入\u获取'CDYear')$_获取['CDYear']:空;
$pCDCategory=filter\u has\u var(输入\u GET,'CDCat')$_GET['CDCat']:null;
$pCDPrice=filter\u是否有变量(输入\u获取'CDPrice')$_GET['CDPrice']:空;
$pCDID=filter\u是否有变量(INPUT\u GET,'CDID')$_GET['CDID']:null;
$pCDPubID=filter\u has\u var(输入\u GET,'pubID')$_GET['pubID']:null;
$sqlCD=mysqli_query($conn,“更新nmc_cd SET CDTitle='$pCDTitle',CDYear='$pCDYear',CDPrice='$pCDPrice')或die(mysqli_错误($conn));
$sqlCD2=mysqli_查询($conn,“更新nmc_类别集catDesc='$pCDCategory')或die(mysqli_错误($conn));
$sqlCD3=mysqli_query($conn,“更新nmc_发布者集pubName='$pCDPubName')或die(mysqli_error($conn));
mysqli_close($conn)代码>
mysqli_查询($conn,$sqlCD)或die(mysqli_错误($conn));在下面?
$pCDTitle=filter\u has\u var(输入\u GET,'CDTitle')$_获取['CDTitle']:null;//将所有参数存储在变量中
$pCDPubName=filter\u是否有变量(INPUT\u GET,'CDPub')$_GET['CDPub']:null;
$pCDYear=filter\u是否有变量(输入\u获取'CDYear')$_获取['CDYear']:空;
$pCDCategory=filter\u has\u var(输入\u GET,'CDCat')$_GET['CDCat']:null;
$pCDPrice=filter\u是否有变量(输入\u获取'CDPrice')$_GET['CDPrice']:空;
$pCDID=filter\u是否有变量(INPUT\u GET,'CDID')$_GET['CDID']:null;
$pCDPubID=filter\u has\u var(输入\u GET,'pubID')$_GET['pubID']:null;
$sqlCD=mysqli_query($conn,“更新nmc_cd SET CDTitle='$pCDTitle',CDYear='$pCDYear',CDPrice='$pCDPrice')或die(mysqli_错误($conn));
$sqlCD2=mysqli_查询($conn,“更新nmc_类别集catDesc='$pCDCategory')或die(mysqli_错误($conn));
$sqlCD3=mysqli_query($conn,“更新nmc_发布者集pubName='$pCDPubName')或die(mysqli_error($conn));
mysqli_close($conn)代码>混合mysql和mysqli!!混合mysql和mysqli!!谢谢,但要知道它会取代整个数据库。。我认为它缺少行ID,并指示它只更新所选行…谢谢,但要知道它会替换整个数据库。。我认为它缺少行ID,并指示它只更新选定的行。。。