小编wil*_*fun的帖子

我得到"未定义的变量"PHP通知

我很好奇为什么我在之前已经完成了一百万次的事情上收到了错误,但是在某个脚本上突然出现错误'未定义变量:行'

然而,行似乎对我来说......

$sql = 'SELECT * FROM table WHERE id="1" LIMIT 1 ';

$res = mysql_query($sql);

    if(mysql_num_rows($res) != FALSE) {

    $row = mysql_fetch_array($res);

    }
Run Code Online (Sandbox Code Playgroud)

以上是伪sql ...但我检查了sql语句,我知道它带来了一个结果.我也知道$ row存储数据,因为如果我去

echo $row[0];
Run Code Online (Sandbox Code Playgroud)

我得到了正确的数据.

所以据我所知,定义了$ row变量.但仍然 - 一个错误.我是在失去理智还是在这里失踪了?如果$ row不存在,是否只会出现此错误/通知?


编辑

对不起,伙计们发生在if语句中:

$sql = 'SELECT * FROM table WHERE uID="' . $ID . '" LIMIT 1 ';

$res = mysql_query($sql);

if(mysql_num_rows($res) != FALSE) {

    $row = mysql_fetch_array($res);

$firstName = $row[0];

$lastName = $row[1];

$email = $row[2];

}
Run Code Online (Sandbox Code Playgroud)

编辑2

如果我执行print_r($ row),我会得到以下内容:

Array
(
[0] => Robert …
Run Code Online (Sandbox Code Playgroud)

php notice

2
推荐指数
1
解决办法
1万
查看次数

如何检查准备好的陈述是否有结果

在过去,我会这样做:

  $sql = 'SELECT * FROM customers WHERE customer_email="' . mysql_real_escape_string($_POST['customer_email']) . '" ';
  $res = mysql_query($sql);

  // if there are no hits...
  if(mysql_num_rows($res) == FALSE) {
Run Code Online (Sandbox Code Playgroud)

今天我用预备的陈述做了同样的事情:

  $stmt = $dbh->prepare("SELECT * FROM customers where customer_email = ? LIMIT 1");
  if ($stmt->execute(array($_POST['customer_email']))) {
Run Code Online (Sandbox Code Playgroud)

我准备好的语句的第二行if($ stmt ...是"如果此查询得到结果"或"是否"无论结果是否执行此查询,即它是否执行没有错误").

我正在尝试解决的是准备好的语句你如何做相当于mysql_num_rows()== FALSE?

谢谢!!

php mysql pdo prepared-statement

2
推荐指数
1
解决办法
4132
查看次数

如何生成随机时间间隔并使用php将其添加到mysql日期时间?

我在mysql表中有很多行,日期时间的格式为:

2008-12-08 04:16:51 etc
Run Code Online (Sandbox Code Playgroud)

我想生成一个30秒到3天之间的随机时间间隔,并将它们添加到上面的时间.

a)如何在30到3天之间生成随机时间?

b)如何将此时间添加到上面的日期时间格式?

我想我需要做一个循环来取出所有信息,在php中进行数学计算,然后更新行...

有任何想法吗?

php mysql

2
推荐指数
1
解决办法
4190
查看次数

使用PHP创建制表符分隔文件时遇到问题

我正在尝试用PHP创建一个制表符分隔文件并遇到一些麻烦.基本上我的制表符,和换行符,即\t\n最终被打印出来,而不是转换成他们应该是.

我的代码很简单:

$sql = 'SELECT * FROM products';
$res = mysql_query($sql);

$page_print = 'id \t title \t description \t price';

while($row = mysql_fetch_array($res)) {
    $page_print .= $row['product_id'] . ' \t ' . $row['product_name'] . ' \t ' . strip_tags($row['product_content']) . ' \t ' . $row['product_price'] . '\n';
}

$page_print = sanitize_output($page_print);

$myFile = "products.txt";
$fh = fopen($myFile, 'w');
$stringData = trim($page_print);
fwrite($fh, $stringData);
fclose($fh);
Run Code Online (Sandbox Code Playgroud)

我在这做错了什么?

php

2
推荐指数
3
解决办法
1万
查看次数

我如何获得今天日期的mysql结果?

我正在尝试从今天插入的表中提取结果。每个插入都标有时间戳。

如果我做这样的查询:

SELECT * 
  FROM table 
  WHERE added > DATE_SUB(NOW(), INTERVAL 1 DAY) 
Run Code Online (Sandbox Code Playgroud)

看来我得到的东西确实落在了今天的日期,但也得到了 24 小时前的东西。也许我在看东西。

我不想看到 24 小时前的东西...

mysql sql

1
推荐指数
1
解决办法
3675
查看次数

有没有更快的方法来执行此mysql查询?

有没有更快的方法来执行这个最简单的服务器负载查询?我不认为我曾尝试过除此方法之外的任何其他方法:

$sql = 'SELECT thing FROM table WHERE id="' . $id . '" ';
$res = mysql_query($sql);
$row = mysql_fetch_array($res);
$thing = $row[0];
Run Code Online (Sandbox Code Playgroud)

有什么方法可以改善吗?

mysql sql query-optimization query-performance

1
推荐指数
1
解决办法
79
查看次数

如何使包含的php文件成为变量

我想制作一个php文件,我有一个变量的一部分,我正在构建.

$print = 'something';
$print .=  include('register_form.php');

print $print;
Run Code Online (Sandbox Code Playgroud)

但这不起作用.register_form.php将不包含在$ print var中,并将在打印输出开始之前回显.

有没有办法实现这个目标?

我知道我可以进入register_form.php并使其成为像register_form()这样的函数并返回其输出,但是,由于我构造它的方式(而且我有点像newb)这会创建更多如果我只能做上述尝试,那就很头疼.

感谢您的任何指示!

php

1
推荐指数
1
解决办法
251
查看次数

如何使这个jquery函数更有效?

我有一个我正在玩的结账,每个项目的数量输入旁边都有一些向上和向下箭头.

我有一些重复的代码,它似乎没有效率.希望你能提供帮助.

每个项目看起来像这样(请原谅我现在的非标准符合item_id属性)

<div class="qty_ctrl_wrap">
  <input class="bag_qty" type="text" value="4" item_id="532" name="product_quantity">
  <div class="arrows">
    <div class="more"></div>
    <div class="less"></div>
  </div>
</div>
Run Code Online (Sandbox Code Playgroud)

这是完整的jquery函数:

$('#checkout .arrows div').live('click',function(){

    var item_id = $(this).parent().prev('input').attr('item_id');
    var current_qty = $(this).parent().prev('input').val();

    if($(this).attr('class') == 'more') {

        var new_qty = parseInt(current_qty) + 1;

    } else {

        var new_qty = parseInt(current_qty) - 1;

    }

    // change the input on screen for visual reasons...
    $(this).parent().prev('input').val(new_qty);


    // submit the changes
        $.ajax({
        type: 'POST',
        url: '/backend/product_purchase_items.php',
        data: 'qty='+new_qty+'&item_id='+item_id,
        cache: false,
        success: function(data) {
          $('#product_purchase_items').html(data);
        }
        }); …
Run Code Online (Sandbox Code Playgroud)

jquery

1
推荐指数
1
解决办法
121
查看次数

为什么iphone上的图片显得模糊(没有缩放)

我今天一直在对图像进行一些测试,发现我无法制作模糊的PNG图像,在我的桌面上看起来很好,在iphone上看起来不模糊而不做一些奇怪的事情.

直到我将图像的分辨率提高了两倍,然后在iphone中调整它们,使它们在屏幕上显得清晰.这是正常的做法吗?

怎么说如果你有一个你想要非模糊的背景图像?我不知道如何上传背景图片并告诉它以一半的尺寸运行......

感谢您的任何指示!

iphone mobile-safari ios

1
推荐指数
1
解决办法
2985
查看次数

如何将PHP7的$ mysqli-> real_escape_string与数组一起使用

在PHP7之前,我会结合implodearray_map遍历每个值,mysql_real_escape_string为它们准备一个语句以避免sql注入.例如:

$values = implode("', '", array_map('mysql_real_escape_string', $sqlArray));
Run Code Online (Sandbox Code Playgroud)

mysql_real_escape_string现在已被mysqli :: real_escape_string取代.如何使用新方法完成上述代码,就像使用array_map中的mysqli类一样容易?

php mysql arrays mysqli php-7

1
推荐指数
1
解决办法
2125
查看次数